Uvod u niz u Unixu
Array je struktura podataka koja sadrži grupu elemenata koji su tipični za isti tip podataka, kao što su niz, cijeli broj, plovak itd. Struktura podataka niza dostupna je i u Unixu.
- Niz u Unixu: Skup je elemenata koji mogu, a ne moraju biti istog tipa podataka.
- Indeks: Niz se temelji na nuli, što znači da se elementi matrice navode indeksom koji počinje nultu.
- Veličina: Ne postoji maksimalno ograničenje veličine matrice
Sintaksa niza u Unixu
Postoje različiti načini formiranja niza u scenariju ljuske. Provjerimo detaljno svaki od njih:
1. Neizravna izjava: Ovdje se dodjeljuje vrijednost za određeni indeks u pokretu. Primjer koji je spomenut u nastavku.
Sintaksa:
array_name(index) = value
2. Izričita deklaracija: najprije se deklarira niz, a kasnije joj se dodjeljuju vrijednosti. Declare je ugrađena ključna riječ i -a je mogućnost čitanja ugrađena koja omogućuje čitanje i dodjeljivanje vrijednosti.
Sintaksa:
declare -a array_name
3. Dodjela složenog spoja: Ovdje se niz deklarira s više vrijednosti istovremeno.
Sintaksa:
array_name = (value1 value2 value3 . . . valueN)
Ili
array_name = ((0)=value1, (1)=value2, (2)=value3..)
Ovdje je indeks izborni ako nije naveden indeks, vrijednost je dodijeljena posljednjem indeksu plus jedan
Kako Array djeluje u Unixu?
Naučili smo različite načine stvaranja niza u Unixu, krenimo sada naprijed i raznim operacijama koje se mogu izvoditi na Unix polju.
1. Napravit ćemo niz imena
2. Za pristup svim elementima matrice koristite (*) ili (@)
Kodirati:
echo $(first_name(*))
echo $(first_name(@))
Napomena: naredba echo je ugrađena naredba u Unixu koja se koristi za prikaz teksta ili niza koji su proslijeđeni kao argument naredbi. Sintaksa 'odjeka' spominje se u nastavku.
Sintaksa:echo (options) (arguments)
3. Pristupiti bilo kojem specifičnom elementu niza koristeći njegov indeks.
Kodirati:
echo $(first_name(0))
echo $(first_name(1))
echo $(first_name(2))
Izlaz:
Napomena: () kovrčavi zagrade koriste se za upućivanje na sadržaj matrice.
4. Za ispis elemenata u rasponu. Sintaksa za isto je sljedeća:
Sintaksa:
echo $array_name(which element):starting_index:count_element)
Upoznajmo se s istim.
Kodirati:
echo $(first_name(@):0:2)
echo $(first_name(@):2:3)
echo $(first_name(0):1:2)
Izlaz:
@ - odnosi se na sve elemente matrice
U naredbi odjekuje $ (first_name (@): 0: 2)
@ razmotri sve elemente matrice. 0 - znači započeti s ovim indeksom, a 2 prikazuje broj elemenata od početne točke
2 prikazuje niz elemenata od početne točke
U ovoj naredbi odjekuje $ (first_name (0): 1: 2)
0 - razmotrite 0. element matrice. 1- je početna točka, a 2 - brojanje broja elemenata od početne točke
5. Da biste dobili veličinu niza
Kodirati:
echo $(#first_name(@))
or
echo $(#first_name(*))
Izlaz:
Napomena: # se koristi za pronalaženje duljine određenog elementa matrice.
6. Da biste pronašli duljinu određenog elementa niza
Kodirati:
echo $(#first_name(0))
Izlaz :
7. Da biste dobili indeks matrice upotrijebite naredbu ispod.
Kodirati:
echo $(!first_name(@))
Izlaz:
Napomena :! koristi se za dobivanje indeksa niza.
8. Za brisanje matrice koristi se naredba za uklanjanje skripte. To je ugrađena naredba za uništavanje matrice ili bilo kojeg elementa matrice
Sintaksa:
unset array_name
Kodirati:
unset first_name
9. Da biste izbrisali element u bilo kojem određenom indeksu
unset first_name(2)
Time ćete izbrisati element u indeksu 2.
10. Traženje određenog uzorka u nizu.
Kodirati:
echo $(first_name(@)/*(aA)*/)
Izlaz:
Ovdje se prvo ime (@): odnosi na sve elemente matrice
/ uzorak za pretraživanje /: to je obrazac za pretraživanje u nizu ili njegovom elementu.
Vratit će se 1 ako je podudaranje pronađeno i 0 ako nije pronađeno podudaranje.
11. Pretražite određeni uzorak i zamijenite ga u zadanom nizu.
Kodirati:
echo $(first_name(@)//a/A)
ime_nagosta (@): razmotrite sve elemente matrice
// obrazac za pretraživanje / zamjenski niz /: string za pretraživanje i zamjenu
Izlaz:
prvo ime (2): Pretraživanje i zamjena operacija na elementu s indeksom 2.
Tijekom izvođenja operacije pretraživanja i zamjene, ne postoje promjene u izvornoj vrijednosti polja. Vraća novu vrijednost koja se može pohraniti u iste ili različite varijable.
12. Za izvršavanje operacije na elementima matrice možemo koristiti Petlje. Kao i bilo koji drugi programski jezik, Bourneova ljuska podržava dvije vrste petlji, tj. Za petlju i petlju. Pogledajmo primjer ponavljanja niza koji se koristi za petlju.
Kodirati:
Arr = (1 2 3 4 5)
for i in “$(Arr(@))”
do
echo $i
done
Izlaz :
Slično tome, možete ponoviti niz nizom koristeći i petlju.
Imajte na umu da su na Unixu dostupne različite vrste školjki poput Bash-a, K shell-a, Bourne-ove školjke itd. Shell nije ništa drugo nego sučelje za Unix sustave s različitim nizovima naredbi i funkcija. Dakle, na temelju različitih vrsta ljuske postoje različite sintakse povezane s nizom i njegovim operacijama s malim odstupanjem u sintaksi naredbi koje su gore navedene.
Bash Shell dopušta operaciju niza i na varijablama, a da varijable nisu izričito deklarirane kao niz. Pogledajmo primjer da bismo bolje razumjeli gornju tvrdnju.
Kodirati:
String_variable = India is a democratic country
echo “$(string(0))”
Izlaz:
Zaključak
U osnovi niz je zbirka predmeta pohranjenih u neprekidnom memorijskom mjestu. Svrha oblikovanja niza je spremanje više stavki iste vrste zajedno s istim ili različitim vrstama podataka. U praktičnom scenariju zašto nizovi struktura zaostaju u popularnosti zbog nedostatka kompatibilnosti s različitim školjkama i složenim strukturama.
Preporučeni članci
Ovo je vodič za Array u Unixu. Ovdje smo raspravljali o sintaksi i radu polja u Unixu, zajedno s raznim primjerima i implementacijom koda. Možete pogledati i sljedeće članke da biste saznali više -
- Linux proxy poslužitelj
- Vrste školjki u Linuxu
- Stvorite korisnika u Linuxu
- Unix datotečni sustav
- Vodič za petlje u skriptu školjaka