Jak odczytać dane kolumny z pliku tekstowego w skrypcie powłoki bash

Jak odczytać dane kolumny z pliku tekstowego w skrypcie powłoki bash

Jednym z zadań, które można wykonać za pomocą skryptu powłoki bash, jest odczyt danych z pliku tekstowego i przetwarzanie. W tym artykule przyjrzymy się, jak odczytać określoną kolumnę danych z pliku tekstowego lub jak odczytać wiele kolumn z pliku tekstowego w skrypcie powłoki bash.

Jak odczytać dane kolumny z pliku tekstowego w skrypcie powłoki bash

Czytanie określonych kolumn danych z pliku tekstowego w skrypcie powłoki bash są przydatne w różnych aplikacjach, takich jak zautomatyzowane powtarzające się zadania, tworzenie oprogramowania, zarządzanie tekstem i wiele więcej, wszystko, co musisz zrobić, to po prostu przeczytać odpowiednią kolumnę. Aby uzyskać dalszą ilustrację poniżej składni, którą można śledzić, aby odczytać dowolną kolumnę z dowolnego pliku tekstowego:

#!/bin/bash
podczas linii odczytu; Do
# Użyj AWK, aby wyodrębnić trzecie pole (nazwa) z każdego wiersza
= $ (echo $ line | awk 'print $')
# Wydrukuj nazwę
Echo $
zrobione < .tekst


1: Skrypt zaczyna się od określania interpretera powłoki do użycia z linią Shebang #!/bin/bash.

2: While pętla odczytuje zawartość wiersza pliku tekstowego według wiersza, za pomocą polecenia odczytu i dla każdego odczytania linii, Awk Polecenie służy do wyodrębnienia pola (nazwy) z wiersza. Polecenie AWK używa wzoru print $ Aby wybrać pole, które jest następnie przechowywane w nazwie zmiennej.

3: Wreszcie, skrypt drukuje wartość zmiennej nazwy za pomocą polecenia echo i ten proces jest powtarzany dla każdego wiersza w pliku, aż nie będzie więcej linii do odczytania.

Dla zrozumienia czytelników użyłem powyższej podanej składni do odczytania jednej kolumny z pliku tekstowego, a poniżej znajduje się kod:

#!/bin/bash
podczas linii odczytu; Do
# Użyj AWK, aby wyodrębnić drugie pole z każdej linii
info = $ (echo $ line | awk 'print $ 3')
# Wydrukuj wiek
echo $ info
zrobione < company_details.txt


Tutaj, w kodzie, przeczytałem trzecią kolumnę każdego wiersza pliku tekstowego o nazwie szczegóły firmy, polecenie AWK służy do wyodrębnienia trzeciego pola (nazwy) z wiersza. Polecenie AWK używa wzoru print 3 $, aby wybrać trzecie pole, oto wyjście mojego przykładowego kodu:


Poniżej znajduje się plik tekstowy, który utworzyłem do celów demonstracyjnych:

Jak odczytać wiele kolumn pliku tekstowego w skrypcie Bash Shell

Jeśli chcesz odczytać więcej niż jedną kolumnę lub plik, wszystko, co musisz dodać numer kolumny, a reszta jest taka sama, więc oto kod do odczytu więcej niż jednej kolumny pliku tekstowego:

#!/bin/bash
# Ten wiersz określa, że ​​skrypt powinien być interpretowany przez powłokę bash.
# pętla przez każdą wiersz pliku
podczas linii odczytu; Do
# Użyj AWK, aby wyodrębnić trzecie pole (nazwa) z każdego wiersza
info = $ (echo $ line | awk 'drukuj 1 $, 2 $, 3 $')
# Wydrukuj nazwę
echo $ info
zrobione < company_details.txt


Poniżej znajduje się wyjście kodu, który odczytuje wszystkie trzy kolumny w pliku tekstowym:

Wniosek

Skrypty Bash to wszechstronne narzędzie, którego można użyć do automatyzacji różnych zadań, szczególnie jeśli chodzi o systemy oparte na UNIX. Łącząc polecenia pętli While i inne, można łatwo odczytać dane kolumny z pliku tekstowego i wykonywać różne operacje z danymi.