Jak odczytać wiersz pliku po linii w skrypcie Bash

Jak odczytać wiersz pliku po linii w skrypcie Bash
Jak napisałbyś skrypt bash, który może przetwarzać plik tekstowy jeden wiersz na raz. Najpierw potrzebujesz składni i podejścia do odczytania wiersza pliku po wierszu. Metody tego podejścia pokazano w tym samouczku.

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

Firma.tekst
SAMSUNG
Nokia
LG
Symfonia
iPhone

Przykład -1: odczyt treści pliku z wiersza poleceń

Załóżmy, że chcesz odczytać plik, firma.tekst, wiersz po wierszu z wiersza poleceń bez 'kot' Komenda. Uruchom następujące polecenie, aby wykonać zadanie. chwila pętla odczytuje każdą wiersz z pliku firma.tekst na każdym kroku i przechowuj zawartość linii w $ linia zmienna, która zostanie wydrukowana później.

$ podczas linii odczytu; Zrób linię $; zrobione < company.txt

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

Utwórz plik bash i dodaj następujący kod, aby odczytać zawartość konkretnego pliku. Tutaj przechowywana jest istniejąca nazwa pliku $ nazwa pliku zmienna i $ n Zmienna służy do utrzymania wartości numeru linii tego pliku. Jak poprzedni przykład, chwila pętla służy do odczytu tego pliku za pomocą numeru wiersza.

#!/bin/bash
FileName = 'Company.tekst'
n = 1
podczas linii odczytu; Do
# Czytanie każdej linii
echo "nr. $ n: $ line "
n = $ ((n+1))
zrobione < $filename

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

$ Bash Readfile1.cii

Uruchomić 'kot' polecenie z firma.tekst plik do wyświetlenia oryginalnej zawartości firma.tekst plik.

$ CAT Company.tekst

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

Utwórz plik bash i dodaj następujący skrypt. Ten skrypt przyjmie nazwę pliku z argumentu wiersza poleceń. Pierwsza wartość argumentu jest odczytywana przez zmienną 1 USD, która będzie zawierać nazwę pliku do odczytu. Jeśli plik istnieje w bieżącej lokalizacji, to chwila pętla odczytuje wiersz pliku według wiersza jak poprzedni przykład i drukuje zawartość pliku.

#!/bin/bash
nazwa pliku = 1 $
podczas linii odczytu; Do
# Czytanie każdej linii
Echo $ linia
zrobione < $filename

Uruchom powyższy skrypt z pracownik.tekst Plik jako wartość argumentu. Wyjście pokaże zawartość pracownik.tekst Plik poprzez usunięcie dodatkowej przestrzeni. Możesz pokazać oryginalną treść pracownik.tekst plik za pomocą 'kot' Komenda.

$ Bash Readfile2.Pracownik TXT.tekst
$ CAT pracownik.tekst

Przykład - 4: Czytanie pliku przez pominięcie ucieczki z tyłu

Jeśli chcesz odczytać każdą wiersz pliku, pomijając ucieczkę BackSlash, musisz użyć '-R' opcja z poleceniem odczytu w chwila pętla.

#!/bin/bash
podczas przeczytania -r linii; Do
# Czytanie każdej linii
Echo $ linia
zrobione < company2.txt

Utwórz plik o nazwie Firma2.tekst z BackSlash i uruchom następujące polecenie, aby wykonać skrypt. Wyjście pokaże zawartość pliku bez żadnego odwrotu.

$ Bash Readfile3.cii

Będziesz musiał odczytać plik dla wielu celów programowania. Na przykład możesz łatwo wyszukiwać lub dopasować dowolną konkretną treść z dowolnego pliku, odczytując każdą linię osobno. Jest to więc niezbędne zadanie dla każdego programowania. Niektóre proste przykłady czytania pliku w skrypcie Bash są pokazane w tym samouczku. Pomogą ci one uzyskać pomysł odczytania linii zawartości pliku za pomocą linii za pomocą pętli w skrypcie Bash i bardziej efektywnie zastosować w skrypcie. Aby uzyskać więcej informacji, obejrzyj wideo!