Introduktion til Array i Unix

Array er en datastruktur, der indeholder en gruppe af elementer, der er typiske for den samme datatype, såsom streng, heltal, float osv. Array-datastruktur er også tilgængelig i Unix.

  • Array i Unix: Det er samlingen af ​​elementer, der måske eller måske ikke er af den samme datatype.
  • Indeks: Array er nulbaseret, hvilket betyder, at elementer i arrayet refereres til af indekset, der starter nul.
  • Størrelse: Der er ingen maksimal grænse for størrelsen på matrixen

Syntaks af Array i Unix

Der er forskellige måder at danne en matrix i shell scripting. Lad os gennemgå en enkelt af dem i detaljer:

1. Indirekte erklæring: Her tildeles værdi for et bestemt indeks, mens du er på farten. Eksempel på det er nævnt nedenfor.

Syntaks:

array_name(index) = value

2. Eksplicit erklæring: Først erklæres matrixen, og derefter tildeles værdierne til den. Declare er indbygget nøgleord, og -a er en mulighed for at læse indbygget, som tillader læsning og tildeling af værdier.

Syntaks:

declare -a array_name

3. Sammensat tildeling: Her deklareres matrisen med flere værdier ad gangen.

Syntaks:

array_name = (value1 value2 value3 . . . valueN)

Eller

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

Her er indekset valgfrit, hvis indekset ikke er angivet, tildeles værdien til det sidste indeks plus et

Hvordan fungerer Array i Unix?

Vi har lært de forskellige måder at oprette en matrix i Unix, lad os nu gå videre og se forskellige operationer, der kan udføres på Unix array.

1. Vi opretter en række navne

2. Brug enten (*) eller (@) for at få adgang til alle elementerne i matrixen

Kode:

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

Bemærk: Echo-kommando er en indbygget kommando i Unix, der bruges til at vise teksten eller den streng, der sendes som et argument til kommandoen. Syntaksen til 'ekko' er nævnt nedenfor.

Syntaks:

echo (options) (arguments)

3. For at få adgang til ethvert specifikt element i strengen vha. Dets indeks.

Kode:

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

Produktion:

Bemærk: () krøllede seler bruges til at henvise til indholdet i matrixen.

4. Sådan udskrives elementerne i et interval. Syntaks for det samme er som følger:

Syntaks:

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

Lad os gøre os bekendt med det samme.

Kode:

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

Produktion:

@ - henviser til alle elementerne i matrixen
I kommandoen ekko $ (first_name (@): 0: 2)
@ overvej alle elementerne i matrixen. 0 - betyder at starte med netop dette indeks, og 2 viser antallet af elementer fra udgangspunktet
2 viser et antal elementer fra udgangspunktet

I denne kommando ekko $ (first_name (0): 1: 2)
0 - overvej det 0. element i matrixen. 1- er udgangspunktet og 2 - er antallet af antallet af elementer fra udgangspunktet

5. For at få størrelsen på matrixen

Kode:

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

Produktion:


Bemærk: # bruges til at finde længden på et specifikt element i en matrix.

6. At finde længden på et specifikt element i en matrix

Kode:

echo $(#first_name(0))

Output :

7. For at få indekset for arrayet til at bruge kommandoen nedenfor.

Kode:

echo $(!first_name(@))

Produktion:


Bemærk :! bruges til at få indekset for arrayet.

8. Til at slette arrayet i kommandoen for script-unset bruges. Det er en indbygget kommando til at ødelægge en matrix eller ethvert element af arrayet

Syntaks:

unset array_name

Kode:

unset first_name

9. Sletning af et element på et hvilket som helst specifikt indeks

unset first_name(2)

Dette vil slette elementet ved indeks 2.

10. Sådan søger du efter et specifikt mønster i matrixen.

Kode:

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

Produktion:

Her, fornavn (@): refererer til alle elementerne i matrixen
/ mønster, der skal søges /: Det er det mønster, der skal søges i matrixen eller dens element.
Det returnerer 1, hvis kampen er fundet, og 0, hvis der ikke findes nogen kamp.

11. For at søge efter et specifikt mønster og udskifte det i den givne matrix.

Kode:

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

first_name (@): Overvej alle elementerne i matrixen
// mønster, der skal søges / erstatningsstreng /: Søgning og erstatningsstreng

Produktion:

first_name (2): Søg og erstatt de handlinger, der skal udføres på elementet med index 2.

Under udførelsen af ​​søgningen og udskiftningen sker der ingen ændringer i den originale værdi af arrayet. Det returnerer en ny værdi, der kan gemmes i de samme eller forskellige variabler.

12. For at udføre en handling på elementerne i en matrix kan vi bruge Loops. Som ethvert andet programmeringssprog understøtter Bourne shell to typer loops, dvs. til loop og while loop. Lad os se på et eksempel til at iterere over en matrix, der bruger til loop.

Kode:

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

Output :

Tilsvarende kan du iterere over en matrix ved hjælp af en while-loop også.

Husk, at der er forskellige forskellige typer skaller, der er tilgængelige i Unix som Bash, K shell, Bourne shell osv. Shell er intet andet end en grænseflade til Unix-systemer med forskellige sæt kommandoer og funktioner. Så baseret på forskellige typer shell er der forskellige syntaks, der er forbundet med matrixen og dens operationer med en lille variation i syntaks for de kommandoer, der er diskuteret ovenfor.

Bash Shell tillader også arrayoperationer på variablerne uden at variablerne eksplicit er erklæret som en matrix. Lad os se på eksemplet for at få en bedre forståelse af ovenstående udsagn.

Kode:

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

Produktion:

Konklusion

Grundlæggende er array en samling af genstande, der er gemt i et sammenhængende hukommelsessted. Formålet bag dannelsen af ​​en matrix er at gemme flere elementer af samme type sammen med de samme eller forskellige datatyper. I et praktisk scenario, hvorfor arraystruktur hænger sammen med popularitet, skyldes dets manglende kompatibilitet med forskellige skal og komplekse strukturer.

Anbefalede artikler

Dette er en guide til Array i Unix. Her diskuterer vi syntaks og arbejde med matrix i Unix sammen med forskellige eksempler og kodeimplementering. Du kan også se på de følgende artikler for at lære mere -

  1. Linux Proxy Server
  2. Typer af skaller i Linux
  3. Opret bruger i Linux
  4. Unix filsystem
  5. Vejledning til til loop i Shell-scripting

Kategori: