Úvod do pole v Unixu

Pole je struktura dat, která obsahuje skupinu prvků, které jsou typické pro stejný typ dat, jako je řetězec, celé číslo, float atd. Struktura dat pole je k dispozici také v Unixu.

  • Array in Unix: Je to kolekce prvků, které mohou nebo nemusí být stejného datového typu.
  • Index: Pole je založeno na nule, což znamená, že na prvky pole se odkazuje počáteční nulou indexu.
  • Velikost: Neexistuje žádný maximální limit na velikost pole

Syntaxe pole v unixu

Existuje několik způsobů, jak vytvořit pole při skriptování prostředí. Podívejme se podrobně na každou z nich:

1. Nepřímé prohlášení: Zde je hodnota přiřazena určitému indexu na cestách. Příklad, který je uveden níže.

Syntax:

array_name(index) = value

2. Explicitní deklarace: Nejprve je deklarováno pole a později jsou přiřazeny hodnoty. Declare je vestavěné klíčové slovo a -a je možnost čtení vestavěné, která umožňuje čtení a přiřazování hodnot.

Syntax:

declare -a array_name

3. Složené přiřazení: Zde je pole deklarováno s více hodnotami současně.

Syntax:

array_name = (value1 value2 value3 . . . valueN)

Nebo

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

Zde je index volitelný, pokud není poskytnut, hodnota je přiřazena poslednímu plusu plus

Jak Array funguje v Unixu?

Naučili jsme se různé způsoby vytváření pole v Unixu, pojďme se nyní posunout vpřed a podívat se na různé operace, které lze v Unixovém poli provádět.

1. Vytvoříme pole jmen

2. Pro přístup ke všem prvkům pole použijte (*) nebo (@)

Kód:

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

Poznámka: příkaz echo je vestavěný příkaz v Unixu, který se používá k zobrazení textu nebo řetězce, který je předán jako argument příkazu. Syntaxe 'echo' je uvedena níže.

Syntax:

echo (options) (arguments)

3. Pro přístup ke specifickému prvku řetězce pomocí jeho indexu.

Kód:

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

Výstup:

Poznámka: () složené složené závorky se používají k označení obsahu pole.

4. Tisk prvků v rozsahu. Syntaxe pro totéž je následující:

Syntax:

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

Seznámíme se s tím samým.

Kód:

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

Výstup:

@ - odkazuje na všechny prvky pole
V příkazu echo $ (first_name (@): 0: 2)
@ zvažte všechny prvky pole. 0 - znamená začít s tímto konkrétním indexem a 2 zobrazuje počet prvků od počátečního bodu
2 zobrazuje několik prvků od počátečního bodu

V tomto příkazu echo $ (first_name (0): 1: 2)
0 - zvažte 0. prvek pole. 1- je počáteční bod a 2 - je počet prvků z počátečního bodu

5. Chcete-li získat velikost pole

Kód:

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

Výstup:


Poznámka: # se používá k nalezení délky konkrétního prvku pole.

6. Najít délku konkrétního prvku pole

Kód:

echo $(#first_name(0))

Výstup :

7. Chcete-li získat index pole pomocí příkazu níže.

Kód:

echo $(!first_name(@))

Výstup:


Poznámka :! se používá k získání indexu pole.

8. K odstranění pole v příkazu script se použije příkaz unset. Je to vestavěný příkaz k zničení pole nebo libovolného prvku pole

Syntax:

unset array_name

Kód:

unset first_name

9. Odstranění prvku v libovolném specifickém indexu

unset first_name(2)

Tím odstraníte prvek v indexu 2.

10. Chcete-li vyhledat konkrétní vzor v poli.

Kód:

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

Výstup:

Zde first_name (@): odkazuje na všechny prvky pole
/ vzor, ​​který má být prohledáván /: Je to vzor, ​​který má být prohledáván v poli nebo jeho prvku.
Pokud je nalezena shoda, vrátí 1 a pokud není nalezena žádná shoda.

11. Vyhledat konkrétní vzorec a nahradit jej v daném poli.

Kód:

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

first_name (@): Zvažte všechny prvky pole
// vzor, ​​který má být prohledáván / náhradní řetězec /: Vyhledávací a náhradní řetězec

Výstup:

first_name (2): Hledání a nahrazování operací, které mají být provedeny na prvku indexem 2.

Při provádění operace vyhledávání a nahrazování nejsou v původní hodnotě pole provedeny žádné změny. Vrací novou hodnotu, která může být uložena ve stejných nebo různých proměnných.

12. K provedení operace s prvky pole můžeme použít smyčky. Stejně jako jakýkoli jiný programovací jazyk, Bourne shell podporuje dva typy smyček, tj. Smyčky a smyčky. Podívejme se na příklad iterace přes pole pomocí smyčky.

Kód:

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

Výstup :

Podobně můžete iterovat přes pole také pomocí smyčky while.

Mějte prosím na paměti, že v Unixu jsou k dispozici různé různé typy nábojů, jako je Bash, K shell, Bourne shell atd. Shell není nic jiného než rozhraní unixových systémů s různými sadami příkazů a funkcí. Takže na základě různých typů shellu jsou s maticí a jejími operacemi asociovány různé syntaxe s malou variací v syntaxi příkazů, které jsou diskutovány výše.

Bash Shell umožňuje operace polí na proměnných, aniž by byly proměnné explicitně deklarovány jako pole. Podívejme se na příklad, abychom lépe porozuměli výše uvedenému tvrzení.

Kód:

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

Výstup:

Závěr

Pole je v zásadě kolekce položek uložených v souvislém paměťovém umístění. Účelem vytvoření pole je uložení více položek stejného typu společně se stejnými nebo odlišnými datovými typy. V praktickém scénáři, proč maticová struktura zaostává v popularitě, je její nedostatečná kompatibilita s různými strukturami skořepiny a složitostí.

Doporučené články

Toto je průvodce Arrayem v Unixu. Zde diskutujeme syntaxi a fungování pole v Unixu spolu s různými příklady a implementací kódu. Další informace naleznete také v následujících článcích -

  1. Linux Proxy Server
  2. Druhy skořápek v Linuxu
  3. Vytvořte uživatele v systému Linux
  4. Systém souborů Unix
  5. Průvodce po smyčce ve skriptování prostředí

Kategorie: