Sissejuhatus Unixi massiivi

Massiiv on andmestruktuur, mis sisaldab sama andmetüübi jaoks tüüpiliste elementide rühma, nagu string, täisarv, ujuk jne. Massiivi andmestruktuur on saadaval ka Unixis.

  • Massiivi Unixis: see on elementide kogum, mis võivad olla või mitte olla sama andmetüübiga.
  • Indeks: Massiiv on nullipõhine, mis tähendab, et massiivi elementidele viidatakse nullist algava indeksi abil.
  • Suurus: massiivi suurusel ei ole ülempiiri

Massiivi süntaks Unixis

Massi skriptimisel massiivi moodustamiseks on erinevaid viise. Laskem kõigist neist üksikasjalikult läbi vaadata:

1. Kaudne deklareerimine: siin antakse väärtus kindlale indeksile liikvel olles. Selle näide on toodud allpool.

Süntaks:

array_name(index) = value

2. Selgesõnaline deklaratsioon: esiteks deklareeritakse massiiv ja seejärel omistatakse sellele väärtused. Deklareerida on sisseehitatud märksõna ja -a on sisseehitatud lugemise võimalus, mis võimaldab lugeda ja väärtusi määrata.

Süntaks:

declare -a array_name

3. Liitülesanne: siin deklareeritakse massiiv mitme väärtusega korraga.

Süntaks:

array_name = (value1 value2 value3 . . . valueN)

Või

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

Siin on indeks valikuline, kui indeksit ei esitata, omistatakse väärtus viimasele indeksile pluss üks

Kuidas massiiv töötab Unixis?

Oleme õppinud Unixi massiivi loomise erinevaid viise, liikugem nüüd edasi ja vaatame erinevaid toiminguid, mida saab Unixi massiivis teha.

1. Koostame nimede massiivi

2. Kõigi massiivi elementide juurde pääsemiseks kasutage kas (*) või (@)

Kood:

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

Märkus: käsk echo on Unixi sisseehitatud käsk, mida kasutatakse teksti või stringi kuvamiseks, mis on käsule argumendina edastatud. Allpool on mainitud kaja süntaks.

Süntaks:

echo (options) (arguments)

3. Juurdepääs stringi mis tahes konkreetsele elemendile, kasutades selle indeksit.

Kood:

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

Väljund:

Märkus . Massiivi sisule viitamiseks kasutatakse () lokkisid.

4. Elementide printimiseks vahemikku. Sama süntaks on järgmine:

Süntaks:

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

Tutvustagem end sellega.

Kood:

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

Väljund:

@ - tähistab kõiki massiivi elemente
Käsul echo $ (first_name (@): 0: 2)
@ kaaluge kõiki massiivi elemente. 0 - tähendab selle konkreetse indeksiga alustamist ja 2 näitab elementide arvu alguspunktist
2 kuvab mitu elementi lähtepunktist

Selles käsus kajastub $ (eesnimi (0): 1: 2)
0 - arvestage massiivi 0. elementi. 1- on lähtepunkt ja 2 - on elementide arvu arv alguspunktist

5. Massiivi suuruse saamiseks

Kood:

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

Väljund:


Märkus. Massi konkreetse elemendi pikkuse leidmiseks kasutatakse # .

6. Massiivi konkreetse elemendi pikkuse leidmiseks

Kood:

echo $(#first_name(0))

Väljund :

7. Massiivi indeksi saamiseks kasutage alltoodud käsku.

Kood:

echo $(!first_name(@))

Väljund:


Märkus :! kasutatakse massiivi indeksi saamiseks.

8. Massiivi kustutamiseks skriptis kasutatakse käsku unset. See on sisseehitatud käsk massiivi või massiivi mis tahes elemendi hävitamiseks

Süntaks:

unset array_name

Kood:

unset first_name

9. Elemendi kustutamine mis tahes konkreetsest indeksist

unset first_name(2)

See kustutab elemendi indeksist 2.

10. Massiivis kindla mustri otsimiseks.

Kood:

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

Väljund:

Eesnimi (@): tähistab kõiki massiivi elemente
/ otsitav muster /: massiivi või selle elementi tuleb otsida mustri järgi.
Tagastab 1, kui vaste leitakse, ja 0, kui vastet ei leita.

11. Otsige konkreetset mustrit ja asendage see antud massiivis.

Kood:

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

eesnimi (@): kaaluge kõiki massiivi elemente
// otsitav muster / asendav string /: otsimis- ja asendamise string

Väljund:

eesnimi (2): otsige ja asendage elemendil tehtavad toimingud registriga 2.

Otsimise ja asendamise ajal massiivi algses väärtuses muudatusi ei tehta. See tagastab uue väärtuse, mida saab salvestada samadesse või erinevatesse muutujatesse.

12. Massiivi elementidega toimingu tegemiseks saame kasutada silmuseid. Nagu iga teine ​​programmeerimiskeel, toetab ka Bourne'i kest kahte tüüpi silmuseid, st silmuse jaoks ja samas silmuse jaoks. Vaatame näidet massiivi iteratsiooniks, kasutades silmuse jaoks.

Kood:

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

Väljund :

Samamoodi saate itereerida massiivi kasutades ka mõnda aja silmust.

Pidage meeles, et Unixis on saadaval mitmesuguseid erinevaid kestasid, nagu Bash, K, Bourne, jne. Shell pole midagi muud kui liides Unixi süsteemide jaoks, millel on erinevad käskude ja funktsioonide komplektid. Niisiis, erinevat tüüpi kestadele tuginedes on massiivi ja selle toimingutega seotud erinevad süntaksid, ülaltoodud käskude süntaksi kerge varieerumisega.

Bash Shell võimaldab massiivi toiminguid ka muutujatega ilma muutujaid selgesõnaliselt massiivina deklareerimata. Vaadakem näidet, et ülaltoodud väitest paremini aru saada.

Kood:

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

Väljund:

Järeldus

Põhimõtteliselt massiiv on külgnevas mälukohas salvestatud üksuste kogum. Massiivi moodustamise eesmärk on salvestada mitut sama tüüpi üksust koos samade või erinevate andmetüüpidega. Praktilise stsenaariumi tõttu on massiivi struktuuri populaarsus langenud seetõttu, et puudub ühilduvus erinevate kesta ja keerukate struktuuridega.

Soovitatavad artiklid

See on juhend Unixi massiivi kohta. Siin käsitleme Unixi massiivi süntaksi ja toimimist koos erinevate näidete ja koodi rakendamisega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Linuxi puhverserver
  2. Shellide tüübid Linuxis
  3. Loo kasutaja Linuxis
  4. Unixi failisüsteem
  5. Shell-skriptimise loopi juhend

Kategooria: