Wymagania wstępne:
Przed przećwiczeniem przykładu z tego samouczka musisz utworzyć plik CSV. Utwórz plik CSV o nazwie „customers.csv” z następującą zawartością, aby sprawdzić dane wyjściowe skryptu używanego w tym samouczku. W tym pliku 3 r & D pola 4 cz linia i 6 cz linia jest pusta.
Identyfikator, imię i nazwisko, adres e-mail, adres, telefon komórkowy101 , Jafar Iqbal, Jafar @ gmail.com, 9 / Dhanmondi Dhaka, + 8801762341425
102 , Kamal Hossain, Kamal @ gmail.com, 120 Mirpur Dhaka, 8801988675345
103 Nirob Chowdhury 33 / 2 Jigatola Dhaka, 8801754532312
104 Farheena Hasana @ gmail.com < A href = 'pusty' > , A > 10 Kadhalbagun Dhaka, + 8801512875634
105 , Md. Rahim,, 2 / B Dhanmondi Dhaka, + 8801700453423
Różne sposoby odczytywania pliku CSV w Bash
Plik CSV można analizować na różne sposoby za pomocą skryptu Bash. W tej części samouczka przedstawiono różne sposoby odczytywania pliku „customers.csv”.
Przykład 1: Przeczytaj oryginalną zawartość pliku CSV
Utwórz plik Bash za pomocą następującego skryptu, który odczytuje pełną zawartość pliku „customers.csv” za pomocą pętli „while”:
#!/bin/bash
#Ustaw nazwę pliku
Nazwa pliku = „klienci.csv”
#Przeczytaj każdy wiersz pliku w każdej iteracji
chwila Czytać dane
Do
#Wydrukuj wiersz
Echo $dane
zrobione < $nazwa pliku
Po wykonaniu skryptu pojawia się następujący komunikat:
Przykład 2: Przeczytaj plik CSV, pisząc nagłówek wielkimi literami
Pierwszy wiersz pliku „customers.csv” zawiera nagłówek pliku. Utwórz plik Bash za pomocą następującego skryptu, który drukuje zawartość pliku „customers.csv” po zapisaniu pierwszego wiersza pliku wielką literą. Polecenie „awk” jest używane w skrypcie do drukowania zawartości pliku po nagłówku wielkimi literami. Przecinek (,) jest przypisywany w wartościach FS i OFS w skrypcie, aby odczytać plik „customers.csv” i zapisać plik „updatedcustomers.csv”. Polecenie „cat” służy do drukowania zawartości obu plików.
drukujf 'Oryginalny plik: \N '#Wydrukuj oryginalną zawartość pliku CSV
kot cstomers.csv
#Utwórz nowy plik CSV po wpisaniu nagłówka wielkimi literami
awk 'BEGIN{FS=',';OFS=','}
{
jeśli(NR==1)
nakładka na nadruk (0 USD)
w przeciwnym razie
wydrukować
}' klienci.csv > zaktualizowaniklienci.csv
drukujf ' \N Zmodyfikowany plik: \N '
#Wydrukuj nowy plik CSV
kot zaktualizowaniklienci.csv
Po wykonaniu skryptu pojawia się następujący komunikat:
Przykład 3: Zamień puste pole pliku CSV na „Brak”
Utwórz plik Bash za pomocą następującego skryptu, który drukuje zawartość pliku „customers.csv” po zmodyfikowaniu pustego pola wartością „Brak”. Dwa pola w tym pliku są puste, o których mowa poniżej. Polecenie „awk” służy w skrypcie do wydrukowania zawartości pliku po zmodyfikowaniu pustych pól. Przecinek (,) jest przypisywany w wartościach FS i OFS w skrypcie, aby odczytać plik „customers.csv” i zapisać plik „updatedcustomers.csv”. Polecenie „cat” służy do drukowania zawartości obu plików w formacie tabelarycznym.
drukujf 'Oryginalny plik: \N '#Wydrukuj oryginalną zawartość pliku CSV w formie tabelarycznej
kot klienci.csv | kolumny -s, -T
awk 'BEGIN{FS=',';OFS=','}
{
for(pole=1;pole<=NF;pole++)
{
if($field == '') $field='Brak'
}
wydrukować
}' klienci.csv > zmodyfikowani klienci2.csv
drukujf ' \N Zmodyfikowany plik: \N '
#Wydrukuj nowy plik CSV w formie tabelarycznej
kot zmodyfikowani klienci2.csv | kolumny -s, -T
Po wykonaniu skryptu pojawia się następujący komunikat:
Przykład 4: Wydrukuj całkowitą liczbę wierszy i kolumn pliku CSV
Utwórz plik Bash za pomocą następującego skryptu, który zlicza całkowitą liczbę wierszy i kolumn w pliku „customers.csv”. Zmienna NR służy do drukowania całkowitej liczby wierszy pliku. Zmienna NF służy do drukowania całkowitej liczby pól pliku.
drukujf 'Oryginalny plik: \N '#Wydrukuj oryginalną zawartość pliku CSV
kot klienci.csv
Echo
Echo -N „Całkowita liczba wierszy:”
awk -F, 'KONIEC{drukuj NR}' klienci.csv
Echo -N „Suma kolumn:”
awk -F, 'KONIEC{drukuj NF}' klienci.csv
Po wykonaniu skryptu pojawia się następujący wynik. Łączna liczba wierszy w pliku to 6, a łączna liczba pól pliku to 5, które są drukowane na wyjściu:
Wniosek
W tym samouczku przedstawiono metody odczytywania pliku CSV, modyfikowania pliku CSV oraz liczenia wierszy i kolumn pliku CSV za pomocą skryptu Bash.