Predpoklady:
Pred precvičením príkladu tohto návodu musíte vytvoriť súbor CSV. Vytvorte súbor CSV s názvom „customers.csv“ s nasledujúcim obsahom, aby ste skontrolovali výstup skriptu, ktorý sa používa v tomto návode. V tomto súbore je 3 rd polia 4 th riadok a 6 th riadok je prázdny.
ID, meno, email, adresa, mobil101 , Džafar Iqbal, Džafar @ gmail.com, 9 / A 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ázdne' > , a > 10 Kadhalbagun Dhaka, + 8801512875634
105 , Md. Rahim,, 2 / B Dhanmondi Dhaka, + 8801700453423
Rôzne spôsoby čítania súboru CSV v Bash
Súbor CSV je možné analyzovať rôznymi spôsobmi pomocou skriptu Bash. V tejto časti návodu sú uvedené rôzne spôsoby čítania súboru „customers.csv“.
Príklad 1: Prečítajte si pôvodný obsah súboru CSV
Vytvorte súbor Bash pomocou nasledujúceho skriptu, ktorý načíta celý obsah súboru „customers.csv“ pomocou cyklu „while“:
#!/bin/bash
#Nastavte názov súboru
názov súboru = 'customers.csv'
# Prečítajte si každý riadok súboru v každej iterácii
zatiaľ čo čítať údajov
robiť
#Vytlačte riadok
ozvena $data
hotový < $filename
Po vykonaní skriptu sa zobrazí nasledujúci výstup:
Príklad 2: Prečítajte si súbor CSV zadaním veľkých písmen v hlavičke
Prvý riadok súboru „customers.csv“ obsahuje hlavičku súboru. Vytvorte súbor Bash pomocou nasledujúceho skriptu, ktorý vytlačí obsah súboru „customers.csv“ po použití veľkých písmen v prvom riadku súboru. Príkaz „awk“ sa v skripte používa na tlač obsahu súboru po použití veľkých písmen v hlavičke. Čiarka (,) je priradená v hodnotách FS a OFS v skripte na čítanie súboru „customers.csv“ a zapisovanie súboru „updatedcustomers.csv“. Príkaz „cat“ sa používa na tlač obsahu oboch súborov.
printf 'Pôvodný súbor: \n '#Vytlačte pôvodný obsah súboru CSV
kat cstomers.csv
# Po použití veľkých písmen v hlavičke vytvorte nový súbor CSV
awk 'BEGIN{FS=',';OFS=','}
{
if(NR==1)
tlačiť vrchnák (0 USD)
inak
vytlačiť
}' zákazníci.csv > updatedcustomers.csv
printf ' \n Upravený súbor: \n '
#Vytlačte nový súbor CSV
kat updatedcustomers.csv
Po vykonaní skriptu sa zobrazí nasledujúci výstup:
Príklad 3: Nahraďte prázdne pole súboru CSV textom „Žiadne“
Vytvorte súbor Bash pomocou nasledujúceho skriptu, ktorý vytlačí obsah súboru „customers.csv“ po úprave prázdneho poľa hodnotou „None“. V tomto súbore sú prázdne dve polia, ktoré sú uvedené nižšie. Príkaz „awk“ sa v skripte používa na vytlačenie obsahu súboru po úprave prázdnych polí. Čiarka (,) je priradená v hodnotách FS a OFS v skripte na čítanie súboru „customers.csv“ a zapisovanie súboru „updatedcustomers.csv“. Príkaz „cat“ sa používa na tlač obsahu oboch súborov v tabuľkovom formáte.
printf 'Pôvodný súbor: \n '#Vytlačte pôvodný obsah súboru CSV vo forme tabuľky
kat zákazníci.csv | stĺpec -s, -t
awk 'BEGIN{FS=',';OFS=','}
{
for(pole=1;pole<=NF;pole++)
{
if($field == '') $field='None'
}
vytlačiť
}' zákazníci.csv > upravení zákazníci2.csv
printf ' \n Upravený súbor: \n '
#Vytlačte nový súbor CSV vo forme tabuľky
kat upravení zákazníci2.csv | stĺpec -s, -t
Po vykonaní skriptu sa zobrazí nasledujúci výstup:
Príklad 4: Vytlačte celkový počet riadkov a stĺpcov súboru CSV
Vytvorte súbor Bash pomocou nasledujúceho skriptu, ktorý počíta celkový počet riadkov a stĺpcov v súbore „customers.csv“. Premenná NR sa používa na tlač celkového počtu riadkov súboru. Premenná NF sa používa na tlač celkového počtu polí súboru.
printf 'Pôvodný súbor: \n '#Vytlačte pôvodný obsah súboru CSV
kat zákazníci.csv
ozvena
ozvena -n 'Celkový počet riadkov:'
awk -F, 'END{print NR}' zákazníci.csv
ozvena -n 'Celkový počet stĺpcov:'
awk -F, 'END{print NF}' zákazníci.csv
Po vykonaní skriptu sa zobrazí nasledujúci výstup. Celkový počet riadkov v súbore je 6 a celkový počet polí súboru je 5, ktoré sa vytlačia vo výstupe:
Záver
Metódy čítania súboru CSV, úpravy súboru CSV a počítania riadkov a stĺpcov súboru CSV pomocou skriptu Bash sú uvedené v tomto návode.