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 -

  1. Linux proxy poslužitelj
  2. Vrste školjki u Linuxu
  3. Stvorite korisnika u Linuxu
  4. Unix datotečni sustav
  5. Vodič za petlje u skriptu školjaka

Kategorija: