Eeltingimused:
Enne selle õpetuse näite kasutamist peate looma CSV-faili. Selles õpetuses kasutatud skripti väljundi kontrollimiseks looge järgmise sisuga CSV-fail nimega „customers.csv”. Selles failis on 3 rd väljad 4 th rida ja 6 th rida on tühjad.
ID, nimi, e-post, aadress, mobiil101 , Jafar Iqbal, Jafar @ 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 = 'tühi' > , a > 10 Kadhalbagun Dhaka, + 8801512875634
105 , Md. Rahim,, 2 / B Dhanmondi Dhaka, + 8801700453423
Erinevad viisid CSV-faili lugemiseks Bashis
CSV-faili saab Bashi skripti abil sõeluda erineval viisil. Selles õpetuse osas kuvatakse erinevad viisid faili „customers.csv” lugemiseks.
Näide 1: lugege CSV-faili algset sisu
Looge Bashi fail järgmise skriptiga, mis loeb faili 'customers.csv' kogu sisu, kasutades tsüklit 'while'.
#!/bin/bash
# Määrake failinimi
faili nimi = 'kliendid.csv'
# Lugege iga iteratsiooni faili iga rida
samal ajal lugeda andmeid
teha
#Prindi rida
kaja $andmed
tehtud < $ failinimi
Pärast skripti käivitamist kuvatakse järgmine väljund:
Näide 2: lugege CSV-faili päises suurtähtedega kirjutades
Faili “customers.csv” esimene rida sisaldab faili päist. Looge järgmise skriptiga Bash-fail, mis prindib faili „customers.csv” sisu pärast faili esimese rea suurtähtede kirjutamist. Käsku 'awk' kasutatakse skriptis faili sisu printimiseks pärast päise suurtähtede kirjutamist. Skripti FS-i ja OFS-i väärtustes on koma(,) määratud faili „customers.csv” lugemiseks ja faili „updatedcustomers.csv” kirjutamiseks. Mõlema faili sisu printimiseks kasutatakse käsku 'cat'.
printf 'Originaalfail: \n '#Prindige CSV-faili algne sisu
kass cstomers.csv
#Looge pärast päise suurtähtede kirjutamist uus CSV-fail
awk 'BEGIN{FS=',';OFS=','}
{
kui(NR==1)
prindi kate ($0)
muidu
printida
}' kliendid.csv > updatedcustomers.csv
printf ' \n Muudetud fail: \n '
#Prindige uus CSV-fail
kass updatedcustomers.csv
Pärast skripti käivitamist kuvatakse järgmine väljund:
Näide 3: asendage CSV-faili tühi väli tekstiga 'Puudub'
Looge Bash-fail järgmise skriptiga, mis prindib faili 'customers.csv' sisu pärast tühja välja muutmist väärtusega 'Puudub'. Selles failis on tühjad kaks välja, mida mainitakse järgmises. Käsku “awk” kasutatakse skriptis faili sisu printimiseks pärast tühjade väljade muutmist. Skripti FS-i ja OFS-i väärtustes on koma(,) määratud faili „customers.csv” lugemiseks ja faili „updatedcustomers.csv” kirjutamiseks. Käsku 'cat' kasutatakse mõlema faili sisu printimiseks tabelivormingus.
printf 'Originaalfail: \n '#Prindige CSV-faili algne sisu tabelina
kass kliendid.csv | veerg -s, -t
awk 'BEGIN{FS=',';OFS=','}
{
for(väli=1;väli<=NF;väli++)
{
if($field == '') $field='Puudub'
}
printida
}' kliendid.csv > modifiedcustomers2.csv
printf ' \n Muudetud fail: \n '
#Prindige uus CSV-fail tabelina
kass modifiedcustomers2.csv | veerg -s, -t
Pärast skripti käivitamist kuvatakse järgmine väljund:
Näide 4: printige CSV-faili ridade ja veergude koguarv
Looge Bashi fail järgmise skriptiga, mis loendab ridade ja veergude koguarvu failis „customers.csv”. Muutujat NR kasutatakse faili ridade koguarvu printimiseks. NF muutujat kasutatakse faili väljade koguarvu printimiseks.
printf 'Originaalfail: \n '#Prindige CSV-faili algne sisu
kass kliendid.csv
kaja
kaja -n 'Ridasid kokku:'
awk -F, 'END{print NR}' kliendid.csv
kaja -n 'Veerud kokku:'
awk -F, 'END{print NF}' kliendid.csv
Pärast skripti täitmist ilmub järgmine väljund. Faili ridade koguarv on 6 ja faili väljade koguarv on 5, mis trükitakse väljundisse:
Järeldus
Selles õpetuses kuvatakse meetodid CSV-faili lugemiseks, CSV-faili muutmiseks ning CSV-faili ridade ja veergude loendamiseks Bashi skripti abil.