Wprowadzenie do tablicy w Uniksie

Array to struktura danych, która zawiera grupę elementów typowych dla tego samego typu danych, takich jak łańcuch, liczba całkowita, liczba zmiennoprzecinkowa itp. Struktura danych macierzy jest również dostępna w systemie Unix.

  • Tablica w Uniksie: jest to zbiór elementów, które mogą, ale nie muszą, należeć do tego samego typu danych.
  • Indeks: Tablica jest zerowa, co oznacza, że ​​do elementów tablicy odwołuje się indeks rozpoczynający od zera.
  • Rozmiar: nie ma maksymalnego limitu rozmiaru tablicy

Składnia tablicy w Uniksie

Istnieją różne sposoby tworzenia tablicy w skryptach powłoki. Przyjrzyjmy się szczegółowo każdemu z nich:

1. Deklaracja pośrednia: tutaj wartość jest przypisywana do konkretnego indeksu w drodze. Przykład jest wymieniony poniżej.

Składnia:

array_name(index) = value

2. Jawna deklaracja: Najpierw tablica jest deklarowana, a następnie wartości są do niej przypisywane. Deklaracja jest wbudowanym słowem kluczowym, a -a jest wbudowaną opcją odczytu, która umożliwia odczyt i przypisywanie wartości.

Składnia:

declare -a array_name

3. Przypisanie złożone: Tutaj tablica jest zadeklarowana z wieloma wartościami na raz.

Składnia:

array_name = (value1 value2 value3 . . . valueN)

Lub

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

Tutaj indeks jest opcjonalny, jeśli indeks nie jest podany, wartość jest przypisywana do ostatniego indeksu plus jeden

Jak działa tablica w Uniksie?

Nauczyliśmy się różnych sposobów tworzenia tablicy w Uniksie, przejdźmy teraz do przodu i zobaczmy różne operacje, które można wykonać na tablicy Unix.

1. Stworzymy tablicę nazw

2. Aby uzyskać dostęp do wszystkich elementów tablicy, użyj (*) lub (@)

Kod:

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

Uwaga: polecenie echo to wbudowane polecenie w systemie Unix, które służy do wyświetlania tekstu lub ciągu przekazywanego jako argument do polecenia. Składnia „echa” jest wymieniona poniżej.

Składnia:

echo (options) (arguments)

3. Aby uzyskać dostęp do dowolnego określonego elementu ciągu za pomocą jego indeksu.

Kod:

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

Wynik:

Uwaga: () nawiasy klamrowe są używane w odniesieniu do zawartości tablicy.

4. Aby wydrukować elementy w zakresie. Składnia tego samego jest następująca:

Składnia:

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

Zapoznajmy się z tym samym.

Kod:

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

Wynik:

@ - odnosi się do wszystkich elementów tablicy
W poleceniu echo $ (first_name (@): 0: 2)
@ rozważ wszystkie elementy tablicy. 0 - oznacza rozpoczęcie od tego konkretnego indeksu, a 2 wyświetla liczbę elementów od punktu początkowego
2 wyświetla liczbę elementów od punktu początkowego

W tym poleceniu echo $ (first_name (0): 1: 2)
0 - rozważ 0- ty element tablicy. 1- oznacza punkt początkowy, a 2 - liczbę elementów od punktu początkowego

5. Aby uzyskać rozmiar tablicy

Kod:

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

Wynik:


Uwaga: # służy do znalezienia długości określonego elementu tablicy.

6. Aby znaleźć długość określonego elementu tablicy

Kod:

echo $(#first_name(0))

Wyjście :

7. Aby uzyskać indeks tablicy, użyj poniższej komendy.

Kod:

echo $(!first_name(@))

Wynik:


Uwaga :! służy do uzyskania indeksu tablicy.

8. Aby usunąć tablicę w skrypcie, użyto polecenia unset. Jest to wbudowane polecenie niszczenia tablicy lub dowolnego elementu tablicy

Składnia:

unset array_name

Kod:

unset first_name

9. Aby usunąć element z dowolnego określonego indeksu

unset first_name(2)

Spowoduje to usunięcie elementu o indeksie 2.

10. Aby wyszukać określony wzorzec w tablicy.

Kod:

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

Wynik:

Tutaj first_name (@): odnosi się do wszystkich elementów tablicy
/ wzorzec do przeszukania /: to wzorzec do przeszukania w tablicy lub jej elemencie.
Zwróci 1, jeśli dopasowanie zostanie znalezione, i 0, jeśli nie zostanie znalezione dopasowanie.

11. Aby wyszukać określony wzorzec i zastąpić go w podanej tablicy.

Kod:

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

first_name (@): Rozważ wszystkie elementy tablicy
// szukany wzorzec / ciąg zastępujący /: ciąg szukający i zastępujący

Wynik:

first_name (2): Wyszukaj i zamień operacje wykonywane na elemencie o indeksie 2.

Podczas wykonywania operacji wyszukiwania i zamiany nie wprowadzono żadnych zmian w pierwotnej wartości tablicy. Zwraca nową wartość, która może być przechowywana w tych samych lub różnych zmiennych.

12. Aby wykonać operację na elementach tablicy, możemy użyć Pętli. Jak każdy inny język programowania, powłoka Bourne'a obsługuje dwa typy pętli, tj. Dla pętli i pętli while. Spójrzmy na przykład iteracji po tablicy za pomocą pętli for.

Kod:

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

Wyjście :

Podobnie, możesz iterować po tablicy również za pomocą pętli while.

Należy pamiętać, że w Uniksie dostępne są różne typy powłok, takie jak Bash, K, Shell Bourne itp. Powłoka jest niczym innym jak interfejsem do systemów Unix z różnymi zestawami poleceń i funkcji. Tak więc, w oparciu o różne typy powłok, istnieje inna składnia związana z tablicą i jej operacjami, z niewielkimi zmianami w składni poleceń omówionych powyżej.

Bash Shell zezwala również na operacje tablicowe na zmiennych, przy czym zmienne nie są jawnie deklarowane jako tablice. Spójrzmy na przykład, aby lepiej zrozumieć powyższe stwierdzenie.

Kod:

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

Wynik:

Wniosek

Zasadniczo tablica to zbiór elementów przechowywanych w ciągłym miejscu pamięci. Celem formowania tablicy jest przechowywanie wielu elementów tego samego typu wraz z tymi samymi lub różnymi typami danych. W praktycznym scenariuszu, dlaczego struktura tablic jest mało popularna, wynika z braku zgodności z różnymi strukturami powłokowymi i złożonymi.

Polecane artykuły

Jest to przewodnik po Array w Uniksie. Tutaj omawiamy składnię i działanie tablicy w Uniksie wraz z różnymi przykładami i implementacją kodu. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Serwer proxy Linux
  2. Rodzaje powłok w systemie Linux
  3. Utwórz użytkownika w systemie Linux
  4. System plików Unix
  5. Przewodnik po pętli w skryptach powłoki