Bevezetés az Unix tömbjébe
A tömb olyan adatstruktúra, amely azonos elemtípusra jellemző elemek csoportját tartalmazza, például karakterlánc, egész szám, lebegő stb. A tömb adatszerkezet az Unix-ban is elérhető.
- Tömb az Unix-ban: Ez az elemgyűjtemény, amely lehet, hogy nem azonos adattípusú.
- Index: A tömb nulla alapú, ami azt jelenti, hogy a tömb elemeire a nullát indító index hivatkozik.
- Méret: A tömb méretére nincs korlátozva
A tömb szintaxisa az Unix-ban
Különböző módon lehet tömböt létrehozni a shell parancsfájlokban. Nézzük át részletesen mindegyiket:
1. Közvetett nyilatkozat: Itt adódik az érték egy adott indexhez útközben. Példa erre az alábbiakban.
Szintaxis:
array_name(index) = value
2. Kifejezett deklaráció: Először deklaráljuk a tömböt, majd később az értékeket hozzárendeljük. A Deklaráció beépített kulcsszó, és az -a a beépített olvasás opciója, amely lehetővé teszi az értékek olvasását és hozzárendelését.
Szintaxis:
declare -a array_name
3. Összetett hozzárendelés: Itt a tömb több értékkel deklarálható egyszerre.
Szintaxis:
array_name = (value1 value2 value3 . . . valueN)
Vagy
array_name = ((0)=value1, (1)=value2, (2)=value3..)
Ebben az esetben az index választható, ha az indexet nem adják meg, az érték hozzá van rendelve az utolsó indexhez, plusz egy
Hogyan működik a tömb az Unix-ban?
Megtanultuk a tömb létrehozásának különféle módjait a Unix-ban, lépjünk tovább és nézzük meg a különféle műveleteket, amelyek végrehajthatók a Unix tömbön.
1. Készítjük a nevek tömbjét
2. A tömb összes elemének eléréséhez használja a (*) vagy (@) lehetőséget.
Kód:
echo $(first_name(*))
echo $(first_name(@))
Megjegyzés: Az echo parancs egy beépített parancs a Unix-ban, amelyet a parancs argumentumaként átadott szöveg vagy karakterlánc megjelenítésére használnak. Az „echo” szintaxisát az alábbiakban említjük.
Szintaxis:echo (options) (arguments)
3. A karakterlánc bármely elemének elérése az index használatával.
Kód:
echo $(first_name(0))
echo $(first_name(1))
echo $(first_name(2))
Kimenet:
Megjegyzés: A () göndör zárójelek a tömb tartalmára utalnak.
4. Az elemek nyomtatása egy tartományba. Ugyanezen szintaxisa a következő:
Szintaxis:
echo $array_name(which element):starting_index:count_element)
Ismerkedjünk meg ezzel.
Kód:
echo $(first_name(@):0:2)
echo $(first_name(@):2:3)
echo $(first_name(0):1:2)
Kimenet:
@ - a tömb összes elemére utal
Az echo parancsban $ (first_name (@): 0: 2)
@ vegye figyelembe a tömb összes elemét. 0 - azt jelenti, hogy ezzel az indextel kezdődik, a 2 pedig az elemek számát jeleníti meg a kiindulási ponttól
A 2. ábra számos elemet jelenít meg a kiindulási ponttól
Ebben a parancsban echo $ (first_name (0): 1: 2)
0 - vegye figyelembe a tömb 0. elemét. 1- az indulási pont és 2 - az elemek számának a kezdőponttól számított száma
5. A tömb méretének meghatározása
Kód:
echo $(#first_name(@))
or
echo $(#first_name(*))
Kimenet:
Megjegyzés: A # egy tömb adott elemének hosszának megkeresésére szolgál.
6. Megtalálja a tömb egy adott elemének hosszát
Kód:
echo $(#first_name(0))
Teljesítmény :
7. A tömb indexének lekéréséhez használja az alábbi parancsot.
Kód:
echo $(!first_name(@))
Kimenet:
Megjegyzés: a tömb indexének lekérésére szolgál.
8. A tömb törléséhez használja a parancsfájl unset parancsát. Ez egy beépített parancs egy tömb vagy a tömb bármely elemének megsemmisítésére
Szintaxis:
unset array_name
Kód:
unset first_name
9. Elemek törlése bármely adott indexnél
unset first_name(2)
Ezzel törli az elemet a 2. indexben.
10. Egy adott minta keresése a tömbben.
Kód:
echo $(first_name(@)/*(aA)*/)
Kimenet:
Itt a first_name (@): a tömb összes elemére utal
/ keresendő minta /: A mintát kell keresni a tömbben vagy annak elemében.
1-et ad vissza, ha a találat megtalálható, és 0-t, ha nem található találat.
11. Egy adott minta keresése és cseréje az adott tömbben.
Kód:
echo $(first_name(@)//a/A)
first_name (@): Vegye figyelembe a tömb összes elemét
// keresendő minta / csere karakterlánc /: Keresési és csere karakterlánc
Kimenet:
első_név (2): Az elemnél végrehajtandó műveletek keresése és cseréje a 2. mutatóval.
A keresés és a csere művelet végrehajtása során a tömb eredeti értékében nincs változás. Új értéket ad vissza, amelyet ugyanazon vagy különböző változókba lehet tárolni.
12. Egy tömb elemein végzett művelet végrehajtásához használhatjuk a hurkokat. Mint minden más programozási nyelv, a Bourne shell kétféle hurkot is támogat, azaz a hurok és a hurok számára. Nézzünk meg egy példát a tömbön keresztül történő ciklushoz a hurok használatához.
Kód:
Arr = (1 2 3 4 5)
for i in “$(Arr(@))”
do
echo $i
done
Teljesítmény :
Hasonlóképpen egy tömbön keresztül egy időhurok segítségével is iterálhat.
Kérjük, ne felejtse el, hogy az Unix-ben különféle típusú héjak érhetők el, például Bash, K shell, Bourne shell stb. A Shell nem más, mint egy interfész az Unix rendszerekhez, különféle parancsok és funkciókkal. Tehát, a héj különféle típusai alapján eltérő szintaxis van társítva a tömbhöz és annak műveleteihez, a fentebb tárgyalt parancsok szintaxisának kis változásával.
A Bash Shell lehetővé teszi a tömbműveleteket a változókon is anélkül, hogy a változókat kifejezetten tömbként deklarálnák. Nézzük meg a példát, hogy jobban megértsük a fenti állítást.
Kód:
String_variable = India is a democratic country
echo “$(string(0))”
Kimenet:
Következtetés
A tömb alapvetően a szomszédos memóriahelyen tárolt elemek gyűjteménye. A tömb kialakításának célja az, hogy több azonos típusú elem tárolására kerüljön sor, azonos vagy különböző adattípusokkal együtt. Egy gyakorlati esetben a tömbszerkezet elmaradása népszerűsége annak oka, hogy nem kompatibilis a különféle héj- és összetett struktúrákkal.
Ajánlott cikkek
Ez egy útmutató az Arxhoz az Unix-ban. Itt tárgyaljuk a tömb szintaxisát és működését az Unix-ban, különféle példákkal és a kód megvalósításával együtt. A következő cikkeket is megnézheti további információkért -
- Linux proxy szerver
- Héj típusok a Linuxban
- Hozzon létre felhasználót Linux alatt
- Unix fájlrendszer
- Útmutató a hurokhoz a Shell Scripting programban