Introduktion till Array i Unix

Array är en datastruktur som innehåller en grupp av element som är typiska för samma datatyp som sträng, heltal, float, etc. Arraydatastruktur finns också i Unix.

  • Array i Unix: Det är samlingen av element som kanske eller inte kan vara av samma datatyp.
  • Index: Array är nollbaserat, vilket betyder att elementen i matrisen refereras av indexet som börjar noll.
  • Storlek: Det finns ingen maximal gräns för storleken på matrisen

Syntax of Array i Unix

Det finns olika sätt att bilda en matris i skalskript. Låt oss gå igenom var och en av dem i detaljer:

1. Indirekt deklaration: Här tilldelas värde för ett visst index när du är på språng. Exempel på vilket nämns nedan.

Syntax:

array_name(index) = value

2. Explicit deklaration: Först deklareras matrisen och senare tilldelas värdena den. Declare är ett inbyggt nyckelord och -a är ett alternativ för att läsa inbyggt som gör det möjligt att läsa och tilldela värden.

Syntax:

declare -a array_name

3. Kompoundtilldelning: Här deklareras matrisen med flera värden åt gången.

Syntax:

array_name = (value1 value2 value3 . . . valueN)

Eller

array_name = ((0)=value1, (1)=value2, (2)=value3..)

Här är indexet valfritt om indexet inte tillhandahålls värdet tilldelas det sista indexet plus ett

Hur fungerar Array i Unix?

Vi har lärt oss de olika sätten att skapa en matris i Unix, låt oss nu gå vidare och se olika operationer som kan utföras på Unix-arrayen.

1. Vi skapar en mängd namn

2. För att komma åt alla elementen i matrisen använder du antingen (*) eller (@)

Koda:

echo $(first_name(*))
echo $(first_name(@))

Obs: echo-kommando är ett inbyggt kommando i Unix som används för att visa texten eller strängen som skickas som ett argument till kommandot. Syntaxen för "eko" nämns nedan.

Syntax:

echo (options) (arguments)

3. För att komma åt alla specifika element i strängen med dess index.

Koda:

echo $(first_name(0))
echo $(first_name(1))
echo $(first_name(2))

Produktion:

Obs: () lockiga hängslen används för att hänvisa till innehållet i matrisen.

4. För att skriva ut elementen i ett intervall. Syntaxen för samma är följande:

Syntax:

echo $array_name(which element):starting_index:count_element)

Låt oss bekanta oss med samma sak.

Koda:

echo $(first_name(@):0:2)
echo $(first_name(@):2:3)
echo $(first_name(0):1:2)

Produktion:

@ - hänvisar till alla element i matrisen
I kommandot echo $ (first_name (@): 0: 2)
@ överväga alla elementen i matrisen. 0 - betyder att börja med just detta index och 2 visar antalet element från startpunkten
2 visar ett antal element från startpunkten

I detta kommando ekar $ (first_name (0): 1: 2)
0 - tänk på det 0: e elementet i matrisen. 1- är startpunkten och 2 - är antalet element från startpunkten

5. För att få storleken på matrisen

Koda:

echo $(#first_name(@))
or
echo $(#first_name(*))

Produktion:


Obs: # används för att hitta längden på ett specifikt element i en matris.

6. Att hitta längden på ett specifikt element i en matris

Koda:

echo $(#first_name(0))

Utgång :

7. För att få index för arrayen för att använda kommandot nedan.

Koda:

echo $(!first_name(@))

Produktion:


Obs ! används för att få indexet för matrisen.

8. För att radera arrayen i kommandot för återställning av skript används. Det är ett inbyggt kommando för att förstöra en matris eller något element i matrisen

Syntax:

unset array_name

Koda:

unset first_name

9. Att ta bort ett element vid ett visst index

unset first_name(2)

Detta kommer att radera elementet vid index 2.

10. Att söka efter ett specifikt mönster i matrisen.

Koda:

echo $(first_name(@)/*(aA)*/)

Produktion:

Här förnamn (@): hänvisar till alla element i matrisen
/ mönster som ska sökas /: Det är mönstret som ska sökas i arrayen eller dess element.
Det kommer att returnera 1 om matchen hittas och 0 om ingen match hittades.

11. Att söka efter ett specifikt mönster och ersätta det i den angivna matrisen.

Koda:

echo $(first_name(@)//a/A)

first_name (@): Tänk på alla element i matrisen
// mönster som ska sökas / ersättningssträng /: Sök & ersättningssträng

Produktion:

first_name (2): Sök och ersätt operationer som ska utföras på elementet med index 2.

När du utför sökningen och ersättningen sker inga ändringar i det ursprungliga värdet på matrisen. Det returnerar ett nytt värde som kan lagras i samma eller olika variabler.

12. För att utföra en operation på elementen i en matris kan vi använda Loops. Som alla andra programmeringsspråk stöder Bourne shell två typer av slingor, dvs. för loop och while loop. Låt oss titta på ett exempel för att iterera över en matris som används för loop.

Koda:

Arr = (1 2 3 4 5)
for i in “$(Arr(@))”
do
echo $i
done

Utgång :

På samma sätt kan du också iterera över en matris med hjälp av en stundslinga.

Kom ihåg att det finns olika olika typer av skal tillgängliga i Unix som Bash, K-skal, Bourne-skal osv. Shell är inget annat än ett gränssnitt till Unix-system med olika uppsättningar av kommandon och funktioner. Så baserat på olika typer av skal finns det olika syntax associerade med matrisen och dess operationer med en liten variation i syntaxen för kommandona som diskuteras ovan.

Bash Shell tillåter också arrayoperationerna på variablerna utan att variablerna uttryckligen deklareras som en matris. Låt oss titta på exemplet för att få en bättre förståelse av ovanstående uttalande.

Koda:

String_variable = India is a democratic country
echo “$(string(0))”

Produktion:

Slutsats

I grund och botten är array en samling av artiklar som lagras på en sammanhängande minnesplats. Syftet bakom att skapa en matris är att lagra flera objekt av samma typ tillsammans med samma eller olika datatyper. I ett praktiskt scenario varför arraystrukturen försvagar populariteten beror på dess bristande kompatibilitet med olika skal och komplexa strukturer.

Rekommenderade artiklar

Detta är en guide till Array i Unix. Här diskuterar vi syntax och funktion av array i Unix tillsammans med olika exempel och kodimplementering. Du kan också titta på följande artiklar för att lära dig mer -

  1. Linux Proxy Server
  2. Typer av skal i Linux
  3. Skapa användare i Linux
  4. Unix File System
  5. Guide till för loopar i Shell-skript

Kategori: