Uvod v Array v Unixu

Array je podatkovna struktura, ki vsebuje skupino elementov, ki so značilni za isti tip podatkov, kot so niz, celo število, plovec itd. Struktura podatkov matrike je na voljo tudi v Unixu.

  • Niz v Unixu: zbirka elementov je lahko ali ne iz istega podatkovnega tipa.
  • Indeks: Array temelji na ničelni vrednosti, kar pomeni, da se elementi matrike sklicujejo na indeks, ki se začne nič.
  • Velikost: Največja omejitev glede velikosti matrike

Sintaksa matrike v Unixu

Obstajajo različni načini oblikovanja matrike v risanju lupin. Vsako izmed njih podrobneje preučimo:

1. Posredna izjava: Tu se določi vrednost za določen indeks na poti. Primer tega je naveden spodaj.

Sintaksa:

array_name(index) = value

2. Izrecna izjava: Najprej se matrika razglasi, nato pa ji vrednosti dodelimo. Declare je vgrajena ključna beseda in -a je možnost branja vgrajene, ki omogoča branje in dodeljevanje vrednosti.

Sintaksa:

declare -a array_name

3. Pridružitev dodelitve: matrika je razglašena z več vrednostmi hkrati.

Sintaksa:

array_name = (value1 value2 value3 . . . valueN)

Or

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

Tu indeks ni izbiren, če indeks ni naveden, je vrednost dodeljena zadnjem indeksu plus ena

Kako Array deluje v Unixu?

Spoznali smo različne načine ustvarjanja matrike v Unixu, pojdimo naprej in si oglejmo različne operacije, ki jih lahko izvajamo na matriki Unix.

1. Ustvarili bomo matriko imen

2. Za dostop do vseh elementov matrike uporabite bodisi (*) ali (@)

Koda:

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

Opomba: ukaz echo je vgrajen ukaz v Unixu, ki se uporablja za prikaz besedila ali niza, ki je posredovan kot argument ukaza. Sintaksa 'odmev' je navedena spodaj.

Sintaksa:

echo (options) (arguments)

3. Za dostop do katerega koli posebnega elementa niza z uporabo njegovega indeksa.

Koda:

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

Izhod:

Opomba: () kodraste naramnice se uporabljajo za sklicevanje na vsebino matrike.

4. Za tiskanje elementov v obsegu. Skladnja za isto je naslednja:

Sintaksa:

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

Naj se seznanimo z istim.

Koda:

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

Izhod:

@ - se nanaša na vse elemente matrike
V ukazu odmeva $ (first_name (@): 0: 2)
@ upoštevajte vse elemente matrike. 0 - pomeni začeti s tem določenim indeksom in 2 prikazuje število elementov od izhodišča
2 prikazuje številne elemente od začetne točke

V tem ukazu odmeva $ (first_name (0): 1: 2)
0 - upoštevajte 0- ti element matrike. 1- je izhodišče in 2 - šteje število elementov z izhodišča

5. Če želite dobiti velikost matrike

Koda:

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

Izhod:


Opomba: # se uporablja za iskanje dolžine določenega elementa matrike.

6. Poiščite dolžino določenega elementa matrike

Koda:

echo $(#first_name(0))

Izhod :

7. Če želite dobiti indeks matrike, uporabite ukaz spodaj.

Koda:

echo $(!first_name(@))

Izhod:


Opomba :! se uporablja za pridobivanje indeksa matrike.

8. Za brisanje matrike v ukazu za izklop skripta se uporablja. To je vgrajen ukaz za uničenje matrike ali katerega koli elementa matrike

Sintaksa:

unset array_name

Koda:

unset first_name

9. Za izbris elementa v katerem koli določenem indeksu

unset first_name(2)

S tem bo element izbrisan v indeksu 2.

10. Za iskanje določenega vzorca v matriki.

Koda:

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

Izhod:

Tu se prvo ime (@): nanaša na vse elemente matrike
/ vzorec, ki ga je treba iskati /: to je vzorec, ki ga je treba iskati v matriki ali njenem elementu.
Če je ujeta najdba, bo vrnjena 1, če ni ujeta.

11. Če želite iskati določen vzorec in ga zamenjati v danem nizu.

Koda:

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

first_name (@): Upoštevajte vse elemente matrike
// vzorec za iskanje / nadomestni niz /: niz in iskanje

Izhod:

first_name (2): iskanje in zamenjava operacij, ki se bodo izvajale na elementu z indeksom 2.

Med izvajanjem operacije iskanja in zamenjave ni bilo nobenih sprememb prvotne vrednosti matrike. Vrne novo vrednost, ki jo je mogoče shraniti v istih ali različnih spremenljivkah.

12. Za izvedbo operacije na elementih matrike lahko uporabimo zanke. Kot kateri koli drug programski jezik, tudi Bourne lupina podpira dve vrsti zank, torej za zanko in zanko. Oglejmo si primer ponovitve preko matrike za zanko.

Koda:

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

Izhod :

Podobno lahko preko matrike iterate tudi preko matrike.

Upoštevajte, da so v Unixu na voljo različne vrste lupin, kot so Bash, K shell, Bourne lupina itd. Shell ni nič drugega kot vmesnik za Unix sisteme z različnimi nabori ukazov in funkcij. Torej, na podlagi različnih vrst lupine obstajajo različne sintakse, povezane z matriko in njenimi operacijami z rahlim odstopanjem skladnje ukazov, ki so obravnavani zgoraj.

Bash Shell omogoča tudi matrične operacije tudi za spremenljivke, ne da bi spremenljivke izrecno deklarirale kot matriko. Poglejmo primer, da bomo bolje razumeli zgornjo trditev.

Koda:

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

Izhod:

Zaključek

V bistvu je paleta elementov, shranjenih na sosednjem pomnilnem mestu. Namen oblikovanja matrike je shranjevanje več elementov iste vrste skupaj z istimi ali različnimi vrstami podatkov. V praktičnem scenariju, zakaj array struktura zaostaja za priljubljenostjo, ker ni združljiva z različnimi lupinami in kompleksnimi strukturami.

Priporočeni članki

To je vodnik za Array v Unixu. Tukaj razpravljamo o sintaksi in delu matrike v Unixu, skupaj z različnimi primeri in implementacijo kode. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Linux Proxy Server
  2. Vrste lupin v Linuxu
  3. Ustvari uporabnika v Linuxu
  4. Unix datotečni sistem
  5. Vodič za zanko v skriptu Shell