Jak czytać plik wiersz po wierszu w skrypcie Bash

How Read File Line Line Bash Script



Jak napisałbyś skrypt Bash, który może przetwarzać plik tekstowy po jednym wierszu na raz. Najpierw potrzebujesz składni i podejścia do czytania pliku linia po linii. Metody tego podejścia są pokazane w tym samouczku.

Załóżmy, że masz plik o nazwie firma.txt który zawiera nazwy firm. Ten plik zawiera następującą zawartość.







Firma.txt
Samsung
Nokia
LG
Symfonia
iPhone

Przykład -1: Odczytywanie zawartości pliku z wiersza poleceń

Załóżmy, że chcesz przeczytać plik, firma.txt , linia po linii z linii poleceń bez 'Kot' Komenda. Uruchom następujące polecenie, aby wykonać zadanie. podczas pętla odczyta każdą linię z pliku firma.txt w każdym kroku i zapisz zawartość linii w $linia zmienna, która zostanie wydrukowana później.



$podczas czytaćlinia;robić wyrzucił $linia;Gotowe <firma.txt



Przykład -2: Odczytywanie zawartości pliku za pomocą skryptu

Utwórz plik bash i dodaj następujący kod, aby odczytać zawartość konkretnego pliku. Tutaj istniejąca nazwa pliku jest przechowywana w $nazwa pliku zmienna i $n zmienna jest używana do przechowywania wartości numeru wiersza tego pliku. Podobnie jak w poprzednim przykładzie, podczas pętla służy do odczytu tego pliku z numerem wiersza.





#!/kosz/bash
Nazwa pliku='firma.txt'
n=1
podczas czytaćlinia;robić
# czytanie każdej linii
wyrzucił „Linia nr$n:$linia'
n= $((n+1))
Gotowe < $nazwa pliku

Uruchom następujące polecenie, aby wykonać skrypt.

$grzmotnąćreadfile1.sh

Biegać 'Kot' polecenie z firma.txt plik do wyświetlenia oryginalnej zawartości firma.txt plik.



$cat company.txt

Przykład -3: Przekazywanie nazwy pliku z wiersza poleceń i odczytywanie pliku

Utwórz plik bash i dodaj następujący skrypt. Ten skrypt pobierze nazwę pliku z argumentu wiersza poleceń. Wartość pierwszego argumentu jest odczytywana przez zmienną $1, która będzie zawierać nazwę pliku do odczytu. Jeśli plik istnieje w bieżącej lokalizacji, to podczas loop odczyta plik wiersz po wierszu, jak w poprzednim przykładzie i wydrukuje zawartość pliku.

#!/kosz/bash
Nazwa pliku=1 zł
podczas czytaćlinia;robić
# czytanie każdej linii
wyrzucił $linia
Gotowe < $nazwa pliku

Uruchom powyższy skrypt za pomocą pracownik.txt plik jako wartość argumentu. Wynik pokaże zawartość pracownik.txt plik, usuwając dodatkowe miejsce. Możesz pokazać oryginalną zawartość pracownik.txt plik za pomocą 'Kot' Komenda.

$ bash readfile2.txt pracownik.txt
$kot pracownik.txt

Przykład – 4: Odczytywanie pliku przez pominięcie ucieczki odwrotnego ukośnika

Jeśli chcesz przeczytać każdy wiersz pliku z pominięciem ucieczki odwrotnego ukośnika, musisz użyć '-r' opcja z poleceniem odczytu w podczas pętla.

#!/kosz/bash
podczas czytać -rlinia;robić
# Czytanie każdej linii
wyrzucił $linia
Gotowe <firma2.txt

Utwórz plik o nazwie firma2.txt z odwrotnym ukośnikiem i uruchom następujące polecenie, aby wykonać skrypt. Dane wyjściowe pokażą zawartość pliku bez ukośnika odwrotnego.

$grzmotnąćreadfile3.sh

Będziesz musiał przeczytać plik do wielu celów programistycznych. Na przykład możesz łatwo wyszukiwać lub dopasowywać określoną zawartość z dowolnego pliku, czytając każdy wiersz osobno. Jest to więc podstawowe zadanie dla każdego programowania. W tym samouczku pokazano kilka prostych przykładów odczytywania pliku w skrypcie bash. Pomoże Ci to w zrozumieniu, jak czytać zawartość pliku wiersz po wierszu, używając pętli while w skrypcie bash i efektywniej stosować go w skrypcie. Aby uzyskać więcej informacji, obejrzyj wideo !