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 -
- Serwer proxy Linux
- Rodzaje powłok w systemie Linux
- Utwórz użytkownika w systemie Linux
- System plików Unix
- Przewodnik po pętli w skryptach powłoki