Úvod do poľa v Unixe
Array je dátová štruktúra, ktorá obsahuje skupinu prvkov, ktoré sú typické pre rovnaký typ údajov, ako napríklad reťazec, celé číslo, float atď. Štruktúra dát je k dispozícii aj v Unixe.
- Array in Unix: Je to zbierka prvkov, ktoré môžu, ale nemusia byť rovnakého typu údajov.
- Register: Pole je založené na nule, čo znamená, že na prvky poľa sa odkazuje počiatočnou nulou indexu.
- Veľkosť: Neexistuje maximálny limit veľkosti poľa
Syntax poľa v Unixe
Pri skriptovaní shellu existuje niekoľko spôsobov, ako vytvoriť pole. Prejdeme si podrobne každú z nich:
1. Nepriame vyhlásenie: Tu je hodnota priradená konkrétnemu indexu na cestách. Príklad ktorého je uvedený nižšie.
syntaxe:
array_name(index) = value
2. Explicitné vyhlásenie: Najprv sa deklaruje pole a potom sa k nemu priradia hodnoty. Declare je vstavané kľúčové slovo a -a je možnosť čítania vstavanej, ktorá umožňuje čítanie a priraďovanie hodnôt.
syntaxe:
declare -a array_name
3. Zložené zloženie: Tu je pole deklarované s viacerými hodnotami súčasne.
syntaxe:
array_name = (value1 value2 value3 . . . valueN)
alebo
array_name = ((0)=value1, (1)=value2, (2)=value3..)
Tu je index voliteľný, ak nie je poskytnutý, hodnota je priradená poslednému plus plus
Ako Array funguje v Unixe?
Naučili sme sa rôzne spôsoby vytvárania poľa v Unixe, teraz sa pohneme vpred a uvidíme rôzne operácie, ktoré je možné vykonávať v poli Unix.
1. Vytvoríme pole mien
2. Na prístup ku všetkým prvkom poľa použite (*) alebo (@)
kód:
echo $(first_name(*))
echo $(first_name(@))
Poznámka: Príkaz echo je vstavaný príkaz v systéme Unix, ktorý sa používa na zobrazenie textu alebo reťazca, ktorý sa odovzdáva ako argument pre príkaz. Syntax „echo“ je uvedená nižšie.
syntaxe:echo (options) (arguments)
3. Prístup k akémukoľvek konkrétnemu prvku reťazca pomocou jeho indexu.
kód:
echo $(first_name(0))
echo $(first_name(1))
echo $(first_name(2))
Výkon:
Poznámka: () zložené zátvorky sa používajú na označenie obsahu poľa.
4. Tlač prvkov v rozsahu. Syntax pre to isté je nasledovná:
syntaxe:
echo $array_name(which element):starting_index:count_element)
Oboznámme sa s tým istým.
kód:
echo $(first_name(@):0:2)
echo $(first_name(@):2:3)
echo $(first_name(0):1:2)
Výkon:
@ - označuje všetky prvky poľa
V príkaze echo $ (first_name (@): 0: 2)
@ zvážte všetky prvky poľa. 0 - znamená začať s týmto konkrétnym indexom a 2 zobrazuje počet prvkov od počiatočného bodu
2 zobrazuje niekoľko prvkov od počiatočného bodu
V tomto príkaze echo $ (first_name (0): 1: 2)
0 - zvážte 0. prvok poľa. 1 je počiatočný bod a 2 - je počet prvkov od počiatočného bodu
5. Ak chcete získať veľkosť poľa
kód:
echo $(#first_name(@))
or
echo $(#first_name(*))
Výkon:
Poznámka: # sa používa na vyhľadanie dĺžky špecifického prvku poľa.
6. Nájsť dĺžku špecifického prvku poľa
kód:
echo $(#first_name(0))
Výstup :
7. Ak chcete získať index poľa pomocou príkazu nižšie.
kód:
echo $(!first_name(@))
Výkon:
Poznámka :! sa používa na získanie indexu poľa.
8. Na odstránenie poľa v skripte sa používa príkaz unset. Je to zabudovaný príkaz zničiť pole alebo akýkoľvek prvok poľa
syntaxe:
unset array_name
kód:
unset first_name
9. Vymazanie prvku z ľubovoľného špecifického indexu
unset first_name(2)
Týmto sa odstráni prvok v indexe 2.
10. Hľadanie špecifického vzoru v poli.
kód:
echo $(first_name(@)/*(aA)*/)
Výkon:
Prvé meno (@): tu odkazuje na všetky prvky poľa
/ vzor, ktorý sa má prehľadávať /: Je to vzor, ktorý sa má prehľadávať v poli alebo v jeho prvku.
Ak sa nájde zápas, vráti 1 a 0, ak sa nenájde žiadna zhoda.
11. Vyhľadať konkrétny vzor a nahradiť ho v danom poli.
kód:
echo $(first_name(@)//a/A)
first_name (@): Zvážte všetky prvky poľa
// vzor, ktorý sa má prehľadať / náhradný reťazec /: Vyhľadať a nahradiť reťazec
Výkon:
first_name (2): Vyhľadajte a nahradiť operácie, ktoré sa majú vykonať na prvku indexom 2.
Pri vykonávaní operácie vyhľadávania a nahradzovania sa v pôvodnej hodnote poľa nevykonávajú žiadne zmeny. Vracia novú hodnotu, ktorú je možné uložiť v rovnakých alebo rôznych premenných.
12. Na vykonanie operácie s prvkami poľa môžeme použiť slučky. Rovnako ako akýkoľvek iný programovací jazyk, Bourne shell podporuje dva typy slučiek, tj pre slučku a slučku. Pozrime sa na príklad, ktorý iteruje cez pole pomocou slučky.
kód:
Arr = (1 2 3 4 5)
for i in “$(Arr(@))”
do
echo $i
done
Výstup :
Podobne môžete iterovať cez pole pomocou slučky while.
Majte na pamäti, že v Unixe sú dostupné rôzne rôzne typy škrupín, ako je Bash, K shell, Bourne shell atď. Shell nie je nič iné ako rozhranie k unixovým systémom s rôznymi sadami príkazov a funkcií. Takže na základe rôznych typov shellu sú s maticou a jej operáciami spojené rôzne syntaxe s malou odchýlkou v syntaxi príkazov, ktoré sú uvedené vyššie.
Bash Shell umožňuje operácie polí aj s premennými bez toho, aby boli premenné explicitne deklarované ako pole. Pozrime sa na príklad, aby sme lepšie porozumeli vyššie uvedenému vyhláseniu.
kód:
String_variable = India is a democratic country
echo “$(string(0))”
Výkon:
záver
Pole je v podstate zbierka položiek uložených na súvislom mieste v pamäti. Účelom vytvorenia poľa je uložiť viac položiek rovnakého typu spolu s rovnakými alebo rôznymi typmi údajov. V praktickom scenári, prečo maticová štruktúra zaostáva v popularite, je jej nedostatočná kompatibilita s rôznymi škrupinami a zložitými štruktúrami.
Odporúčané články
Toto je príručka pre Array v Unixe. Tu diskutujeme syntax a fungovanie poľa v Unixe spolu s rôznymi príkladmi a implementáciou kódu. Ďalšie informácie nájdete aj v nasledujúcich článkoch -
- Linux Proxy Server
- Druhy škrupín v Linuxe
- Vytvorenie používateľa v systéme Linux
- Systém súborov Unix
- Sprievodca po slučke skriptovania v prostredí Shell