Predpogoji:
Pred vadbo primera te vadnice morate ustvariti datoteko CSV. Ustvarite datoteko CSV z imenom »customers.csv« z naslednjo vsebino, da preverite izhod skripta, ki je uporabljen v tej vadnici. V tej datoteki je 3 rd polja 4 th vrstica in 6 th vrstica je prazna.
ID, ime, e-pošta, naslov, mobilni telefon101 , Jafar Iqbal, Jafar @ gmail.com, 9 / A Dhanmondi Dhaka, + 8801762341425
102 , Kamal Hossain, Kamal @ gmail.com, 120 Mirpur Daka, 8801988675345
103 Nirob Chowdhury 33 / 2 Jigatola Daka, 8801754532312
104 Farheen Hasan @ gmail.com < a href = 'prazno' > , a > 10 Kadhalbagun Dhaka, + 8801512875634
105 , Md. Rahim,, 2 / B Dhanmondi Dhaka, + 8801700453423
Različni načini branja datoteke CSV v Bashu
Datoteko CSV je mogoče razčleniti na različne načine s pomočjo skripta Bash. V tem delu vadnice so prikazani različni načini branja datoteke »customers.csv«.
Primer 1: Preberite izvirno vsebino datoteke CSV
Ustvarite datoteko Bash z naslednjim skriptom, ki prebere celotno vsebino datoteke »customers.csv« z uporabo zanke »while«:
#!/bin/bash
#Nastavite ime datoteke
Ime datoteke = 'customers.csv'
#Preberi vsako vrstico datoteke v vsaki ponovitvi
medtem prebrati podatke
narediti
#Natisni vrstico
odmev $podatki
Končano < $ime datoteke
Po izvedbi skripta se prikaže naslednji rezultat:
Primer 2: Preberite datoteko CSV tako, da v glavi pišete z velikimi črkami
Prva vrstica datoteke »customers.csv« vsebuje naslov datoteke. Ustvarite datoteko Bash z naslednjim skriptom, ki natisne vsebino datoteke »customers.csv«, potem ko je prva vrstica datoteke zapisana z velikimi črkami. Ukaz »awk« se v skriptu uporablja za tiskanje vsebine datoteke po vpisu velike začetnice v glavo. Vejica(,) je dodeljena v vrednosti FS in OFS v skriptu za branje datoteke »customers.csv« in pisanje datoteke »updatedcustomers.csv«. Ukaz “cat” se uporablja za tiskanje vsebine obeh datotek.
printf 'Izvirna datoteka: \n '#Natisnite izvirno vsebino datoteke CSV
mačka cstomers.csv
#Ustvarite novo datoteko CSV, potem ko v glavi pišete z velikimi črkami
awk 'BEGIN{FS=',';OFS=','}
{
če(NR==1)
zgornji del s potiskom ($0)
drugače
tiskanje
}' kupci.csv > posodobljene stranke.csv
printf ' \n Spremenjena datoteka: \n '
#Natisnite novo datoteko CSV
mačka posodobljene stranke.csv
Po izvedbi skripta se prikaže naslednji rezultat:
Primer 3: Zamenjajte prazno polje datoteke CSV z »Brez«
Ustvarite datoteko Bash z naslednjim skriptom, ki natisne vsebino datoteke »customers.csv« po spremembi praznega polja z vrednostjo »Brez«. V tej datoteki sta prazni dve polji, ki sta omenjeni v nadaljevanju. Ukaz »awk« se v skriptu uporablja za tiskanje vsebine datoteke po spremembi praznih polj. Vejica(,) je dodeljena v vrednosti FS in OFS v skriptu za branje datoteke »customers.csv« in pisanje datoteke »updatedcustomers.csv«. Ukaz “cat” se uporablja za tiskanje vsebine obeh datotek v obliki tabele.
printf 'Izvirna datoteka: \n '#Natisnite izvirno vsebino datoteke CSV v obliki tabele
mačka kupci.csv | stolpec -s, -t
awk 'BEGIN{FS=',';OFS=','}
{
za (polje=1;polje<=NF;polje++)
{
if($field == '') $field='Brez'
}
tiskanje
}' kupci.csv > modifiedcustomers2.csv
printf ' \n Spremenjena datoteka: \n '
#Natisnite novo datoteko CSV v obliki tabele
mačka modifiedcustomers2.csv | stolpec -s, -t
Po izvedbi skripta se prikaže naslednji rezultat:
Primer 4: Natisnite skupno število vrstic in stolpcev datoteke CSV
Ustvarite datoteko Bash z naslednjim skriptom, ki prešteje skupno število vrstic in stolpcev v datoteki »customers.csv«. Spremenljivka NR se uporablja za tiskanje skupnega števila vrstic datoteke. Spremenljivka NF se uporablja za tiskanje skupnega števila polj datoteke.
printf 'Izvirna datoteka: \n '#Natisnite izvirno vsebino datoteke CSV
mačka kupci.csv
odmev
odmev -n 'Skupaj vrstic:'
awk -F, 'END{print NR}' kupci.csv
odmev -n 'Skupaj stolpcev:'
awk -F, 'END{print NF}' kupci.csv
Po izvedbi skripta se prikaže naslednji rezultat. Skupno število vrstic v datoteki je 6 in skupno število polj datoteke je 5, ki so natisnjena v izhodu:
Zaključek
Metode branja datoteke CSV, spreminjanja datoteke CSV in štetja vrstic in stolpcev datoteke CSV z uporabo skripta Bash so prikazane v tej vadnici.