Předpoklady:
Před procvičováním příkladu z tohoto tutoriálu musíte vytvořit soubor CSV. Vytvořte soubor CSV s názvem „customers.csv“ s následujícím obsahem, abyste mohli zkontrolovat výstup skriptu použitého v tomto kurzu. V tomto souboru je 3 rd pole 4 čt řádek a 6 čt řádek je prázdný.
ID, jméno, e-mail, adresa, mobil101 , Džafar Iqbal, Džafar @ 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 Farheen Hasan @ gmail.com < A href = 'prázdný' > , A > 10 Kadhalbagun Dhaka, + 8801512875634
105 , Md. Rahim,, 2 / B Dhanmondi Dhaka, + 8801700453423
Různé způsoby, jak číst soubor CSV v Bash
Soubor CSV lze analyzovat různými způsoby pomocí skriptu Bash. V této části tutoriálu jsou uvedeny různé způsoby čtení souboru „customers.csv“.
Příklad 1: Přečtěte si původní obsah souboru CSV
Vytvořte soubor Bash pomocí následujícího skriptu, který přečte celý obsah souboru „customers.csv“ pomocí smyčky „while“:
#!/bin/bash
#Nastavte název souboru
název souboru = 'customers.csv'
#Přečtěte si každý řádek souboru v každé iteraci
zatímco číst data
dělat
#Vytiskněte řádek
echo $data
Hotovo < $filename
Po spuštění skriptu se zobrazí následující výstup:
Příklad 2: Čtení souboru CSV psaním velkých písmen v záhlaví
První řádek souboru „customers.csv“ obsahuje záhlaví souboru. Vytvořte soubor Bash pomocí následujícího skriptu, který vytiskne obsah souboru „customers.csv“ po uvedení prvního řádku souboru na velká. Příkaz „awk“ se ve skriptu používá k vytištění obsahu souboru po použití velkých písmen v záhlaví. Čárka(,) je přiřazena v hodnotách FS a OFS ve skriptu pro čtení souboru „customers.csv“ a zápis souboru „updatedcustomers.csv“. Příkaz „cat“ se používá k vytištění obsahu obou souborů.
printf 'Původní soubor: \n '#Vytiskněte původní obsah souboru CSV
kočka cstomers.csv
#Po použití velkých písmen v záhlaví vytvořte nový soubor CSV
awk 'BEGIN{FS=',';OFS=','}
{
if(NR==1)
tiskový topper (0 $)
jiný
tisk
}' zákazníci.csv > updatedcustomers.csv
printf ' \n Upravený soubor: \n '
#Vytiskněte nový soubor CSV
kočka updatedcustomers.csv
Po spuštění skriptu se zobrazí následující výstup:
Příklad 3: Nahraďte prázdné pole souboru CSV textem „Žádný“
Vytvořte soubor Bash pomocí následujícího skriptu, který vytiskne obsah souboru „customers.csv“ po úpravě prázdného pole hodnotou „None“. V tomto souboru jsou prázdná dvě pole, která jsou zmíněna dále. Příkaz „awk“ se ve skriptu používá k vytištění obsahu souboru po úpravě prázdných polí. Čárka(,) je přiřazena v hodnotách FS a OFS ve skriptu pro čtení souboru „customers.csv“ a zápis souboru „updatedcustomers.csv“. Příkaz „cat“ slouží k vytištění obsahu obou souborů v tabulkovém formátu.
printf 'Původní soubor: \n '#Vytiskněte původní obsah souboru CSV ve formě tabulky
kočka zákazníci.csv | sloupec -s, -t
awk 'BEGIN{FS=',';OFS=','}
{
for(pole=1;pole<=NF;pole++)
{
if($field == '') $field='None'
}
tisk
}' zákazníci.csv > upravení zákazníci2.csv
printf ' \n Upravený soubor: \n '
#Vytiskněte nový soubor CSV ve formě tabulky
kočka upravení zákazníci2.csv | sloupec -s, -t
Po spuštění skriptu se zobrazí následující výstup:
Příklad 4: Vytiskněte celkový počet řádků a sloupců souboru CSV
Vytvořte soubor Bash pomocí následujícího skriptu, který počítá celkový počet řádků a sloupců v souboru „customers.csv“. Proměnná NR se používá k vytištění celkového počtu řádků souboru. Proměnná NF slouží k vytištění celkového počtu polí souboru.
printf 'Původní soubor: \n '#Vytiskněte původní obsah souboru CSV
kočka zákazníci.csv
echo
echo -n 'Celkový počet řádků:'
awk -F, 'END{print NR}' zákazníci.csv
echo -n 'Sloupce celkem:'
awk -F, 'END{print NF}' zákazníci.csv
Po provedení skriptu se zobrazí následující výstup. Celkový počet řádků v souboru je 6 a celkový počet polí v souboru je 5, která se vytisknou ve výstupu:
Závěr
V tomto kurzu jsou uvedeny metody čtení souboru CSV, úpravy souboru CSV a počítání řádků a sloupců souboru CSV pomocí skriptu Bash.