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.