Bash podzielony ciąg na tablicę

Bash podzielony ciąg na tablicę
Możesz znaleźć się w wielu sytuacjach, w których musisz podzielić wartości ciągów na tablice lub inne struktury danych podczas pracy nad skryptem BASH w systemie Linux. Tutaj musisz wyjaśnić, że Bash nie zapewnia nam wbudowanej funkcji podzielonej, aby podzielić dowolny ciąg. Ale zawsze istnieje alternatywa dla takich problemów. Dlatego będziemy używać ograniczeń do konwersji lub podzielenia niektórych ciągów na tablicę. Zacznijmy patrzeć na niektóre przykłady w Ubuntu 20.04. Otwórz terminal powłoki najpierw za pomocą „Ctrl+Alt+T” na komputerze stacjonarnym.

Przykład 01

Zadeklarowaliśmy zmienną „STR” w powładzie z wartością ciągu. Tutaj użyliśmy zmiennej „IFS” jako ogranicznika do podziału ciągu „Str”. SYMITER „IFS” zawiera „przestrzeń” jako jego wartość. Oznacza to, że ciąg podzieli się na tablicę za pomocą przestrzeni między jej wartościami. Teraz pętla „for” jest tutaj używana do iteracji ciągu „Str”. W klauzuli „do” każdy element zmiennej „Str” zostanie wyświetlony jako tablica. Po zakończeniu pętli terminal wyświetla ciąg w formie tablicy zgodnie z poniższym obrazem.

Przykład 02

Miejmy kolejny przykład, aby uzyskać trochę innego wyjścia. Możesz wyraźnie zobaczyć, że ciąg zawiera „”, postać po każdym słowiem w nim. Ten specjalny charakter zostanie wykorzystany jako ogranicznik. Tak więc zadeklarowaliśmy „” jako wartość zmiennej „IFS”.

] Pętla „for” została tutaj ponownie zainicjowana, aby iterować zmienną łańcuchową „STR”. W klauzuli „do” pętli „dla” instrukcja Echo została użyta do wyświetlania każdego słowa osobno z numerem indeksu oddzielonym wartością zmiennej „IFS”. Po zakończeniu pętli program wyświetla każde słowo łańcucha osobno w postaci tablicy. Postać „” jest odpowiedzialna za tego rodzaju podział między wartościami ciągów. W rezultacie mamy 5 wartości w postaci tablicy z jednej zmiennej ciągnej „Str”.

Przykład 03

Miejmy kolejny przykład podziału łańcucha na tablicę w pliku Bash. Musisz więc utworzyć plik bash „test testowy.sh ”z zapytaniem dotykowym w skorupce, jak wspomniano poniżej.

$ Touch Test.cii

Teraz otwórz nowo utworzony plik w edytorze, aby napisać w nim skrypt bash. W tym celu wykorzystaliśmy redaktora „GNU Nano”. Możesz również użyć edytora vim.

Test $ nano.cii

W pliku bash dodaliśmy najpierw rozszerzenie bash, aby ten kod był wykonywany za pomocą polecenia bash w powładzie. Następnie zadeklarowano i zainicjowano zmienną „STR”. Zmienna „IFS” została zadeklarowana i przypisana do wartości „przestrzeni”. Instrukcja odczytu została tutaj użyta do odczytania danych ze zmiennej łańcuchowej „STR” jako tablicy za pomocą flagi „-ra” i zapisano w nowej zmiennej „ARR”.

Instrukcja ECHO oblicza i wyświetla rozmiar zmiennej „ARR”, i.mi., szyk. Pętla „for” jest tutaj, aby iterować wartości wartości tablicy, i.mi., „ARR” w sekwencji i wyświetlany w skorcie za pomocą instrukcji printf. Program kończy się tutaj. Zapisz kod za pomocą „Ctrl+S” i opuść edytor za pomocą skrótu „Ctrl+X”.

Uruchom nowo utworzony skrypt bash z poleceniem bash wraz z nazwą pliku bash, i.mi., "test.cii". Wykonanie skryptu Bash najpierw pokazuje rozmiar ciągu „str” i.mi., Szyk. Następnie terminal wyświetlił wartości zmiennej ciągu w postaci tablicy, i.mi., każde słowo rozdzielone. W sumie wyświetlono 9 słów, jak pokazano poniżej.

Test $ Bash.cii

Przykład 04

Zróbmy kolejną ilustrację, aby podzielić ciąg na tablicę. Otwórz więc ten sam plik kodu i zaktualizuj zmienną string „STR”. Dodaliśmy 6 słów w ciągu oddzielonym przecinkiem. Ten przecinek będzie używany jako ogranicznik w zmiennej „IFS”. Instrukcja odczytu czytała słowa ciąg „str” jako tablicę osobno i zapisuje każdą z nich na zmienną „ARR”. SYMITER działa tutaj i oddziela każde słowo od łańcucha.

Do wyświetlania każdej wartości zmiennej „ARR” użyto tutaj 6 instrukcji echo. Możesz zobaczyć składnię do przyjmowania każdej wartości według indeksu na pokazanym obrazie.

Po uruchomieniu kodu w skorupce za pomocą zapytania Bash mamy 6 wierszy wyjściowych. Każde słowo łańcucha jest osobno zapisywane w zmiennej tablicy „ARR” i wyświetlane za pomocą indeksów.

Test $ Bash.cii

Przykład 05

Miej nasz ostatni przykład podziału wartości łańcuchowej na tablicę. Tym razem nie używamy zmiennej „IFS” jako ogranicznika do podziału ciągu. Do tego użyjemy flagi „TR”. Więc otwórz plik „Testuj.sh ”w edytorze nano, aby go zaktualizować. Dodaj rozszerzenie bash na pierwszej linii.

Zmienna typu ciągów „Str” została zainicjowana. Kolejna zmienna, „ARR” używa wartości „STR” i dzieląc ją na części za pomocą flagi „Tr”. Ogranicznik „tr” zawiera przestrzeń jako jej wartość. Pętla „dla” iterowanie zmiennych wartości „ARR” za pomocą indeksów. Każda wartość będzie wyświetlana osobno w postaci tablicy.

Po uruchomieniu kodu BASH mamy wynik w formularzu tablicy. Każde słowo w ciągu „str” jest oddzielone i przekonwertowane na niezależną wartość, i.mi., Element tablicy.

Test $ Bash.cii

Wniosek

W tym artykule omówiliśmy kilka przykładów, aby podzielić wartość ciągu na tablicę. W tym celu zastosowaliśmy zmienną „IFS” i metod „TR”. Wszystkie przykłady są dość łatwe do zrozumienia i można je wdrożyć bez żadnego problemu.