Būtinos sąlygos:
Prieš taikydami šios pamokos pavyzdį, turite sukurti CSV failą. Sukurkite CSV failą pavadinimu „customers.csv“ su tokiu turiniu, kad patikrintumėte šioje mokymo programoje naudojamo scenarijaus išvestį. Šiame faile 3 rd 4 laukai th eilutė ir 6 th eilutė tuščia.
ID, vardas, el. paštas, adresas, mobilusis101 , Jafar Iqbal, Jafar @ gmail.com, 9 / A Dhanmondi Daka, + 8801762341425
102 , Kamal Hossain, Kamal @ gmail.com, 120 Mirpur Daka, 8801988675345
103 Nirobas Chowdhury 33 / 2 Džigatola Daka, 8801754532312
104 Farhenas Hasanas @ gmail.com < a href = 'tuščias' > , a > 10 Kadhalbagun Daka, + 8801512875634
105 , Md. Rahimas,, 2 / B Dhanmondi Daka, + 8801700453423
Įvairūs būdai, kaip skaityti CSV failą Bash
CSV failą galima analizuoti įvairiais būdais naudojant Bash scenarijų. Šioje mokymo programos dalyje pateikiami įvairūs failo „customers.csv“ skaitymo būdai.
1 pavyzdys: perskaitykite pradinį CSV failo turinį
Sukurkite „Bash“ failą su šiuo scenarijumi, kuris nuskaito visą „customers.csv“ failo turinį naudojant „while“ kilpą:
#!/bin/bash
#Nustatykite failo pavadinimą
failo pavadinimas = 'klientai.csv'
# Perskaitykite kiekvieną failo eilutę kiekvienoje iteracijoje
kol skaityti duomenis
daryti
#Atspausdinkite eilutę
aidas $duomenys
padaryta < $failo pavadinimas
Įvykdžius scenarijų pasirodo ši išvestis:
2 pavyzdys: perskaitykite CSV failą rašydami antraštę didžiosiomis raidėmis
Pirmoje „customers.csv“ failo eilutėje yra failo antraštė. Sukurkite „Bash“ failą naudodami šį scenarijų, kuris išspausdina „customers.csv“ failo turinį po to, kai pirmoje failo eilutėje rašoma didžiosiomis raidėmis. Komanda „awk“ naudojama scenarijuje, norint išspausdinti failo turinį po to, kai antraštė yra didžioji. Kablelis (,) priskiriamas scenarijaus FS ir OFS reikšmėse, kad būtų galima nuskaityti „customers.csv“ failą ir parašyti „updatedcustomers.csv“ failą. Komanda „katė“ naudojama abiejų failų turiniui spausdinti.
printf 'Originalus failas: \n “#Atspausdinkite originalų CSV failo turinį
katė cstomers.csv
#Sukurkite naują CSV failą, parašę antraštę didžiosiomis raidėmis
awk 'START{FS=',';OFS=','}
{
jei(NR==1)
spausdinimo viršelis ($0)
Kitas
spausdinti
}' klientai.csv > updatedcustomers.csv
printf “ \n Pakeistas failas: \n “
#Spausdinkite naują CSV failą
katė updatedcustomers.csv
Įvykdžius scenarijų pasirodo ši išvestis:
3 pavyzdys: tuščią CSV failo lauką pakeiskite į „Nėra“
Sukurkite „Bash“ failą su šiuo scenarijumi, kuris išspausdina „customers.csv“ failo turinį, pakeitus tuščią lauką su „Nėra“ reikšme. Du šio failo laukai yra tušti, kurie paminėti toliau. Komanda „awk“ naudojama scenarijuje, norint išspausdinti failo turinį, pakeitus tuščius laukus. Kablelis (,) priskiriamas scenarijaus FS ir OFS reikšmėse, kad būtų galima nuskaityti „customers.csv“ failą ir parašyti „updatedcustomers.csv“ failą. Komanda „katė“ naudojama abiejų failų turiniui spausdinti lentelės formatu.
printf 'Originalus failas: \n “#Spausdinkite pradinį CSV failo turinį lentelės forma
katė klientai.csv | stulpelis -s, -t
awk 'START{FS=',';OFS=','}
{
for(laukas=1;laukas<=NF;laukas++)
{
if($field == '') $field='Nėra'
}
spausdinti
}' klientai.csv > modifiedcustomers2.csv
printf “ \n Pakeistas failas: \n “
#Spausdinkite naują CSV failą lentelės forma
katė modifiedcustomers2.csv | stulpelis -s, -t
Įvykdžius scenarijų pasirodo ši išvestis:
4 pavyzdys: išspausdinkite bendrą CSV failo eilučių ir stulpelių skaičių
Sukurkite „Bash“ failą naudodami šį scenarijų, kuris skaičiuoja bendrą „customers.csv“ failo eilučių ir stulpelių skaičių. NR kintamasis naudojamas bendram failo eilučių skaičiui spausdinti. NF kintamasis naudojamas bendram failo laukų skaičiui spausdinti.
printf 'Originalus failas: \n “#Atspausdinkite originalų CSV failo turinį
katė klientai.csv
aidas
aidas -n 'Iš viso eilučių:'
awk -F, „BAIGTI{spausdinti NR}“ klientai.csv
aidas -n „Iš viso stulpelių:“
awk -F, „BAIGTI{spausdinti NF}“ klientai.csv
Įvykdžius scenarijų pasirodo ši išvestis. Iš viso faile yra 6 eilutės, o failo laukeliai yra 5, kurie atspausdinami išvestyje:
Išvada
CSV failo skaitymo, CSV failo modifikavimo ir CSV failo eilučių bei stulpelių skaičiavimo naudojant Bash scenarijų metodai yra parodyti šioje pamokoje.