Requisits previs:
Heu de crear un fitxer CSV abans de practicar l'exemple d'aquest tutorial. Creeu un fitxer CSV anomenat 'customers.csv' amb el contingut següent per comprovar la sortida de l'script que s'utilitza en aquest tutorial. En aquest fitxer, el 3 rd camps del 4 th línia i 6 th línia estan buides.
DNI, nom, correu electrònic, adreça, mòbil101 , 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 = 'en blanc' > , a > 10 Kadhalbagun Dhaka, + 8801512875634
105 , Md. Rahim,, 2 / B Dhanmondi Dhaka, + 8801700453423
Diferents maneres de llegir el fitxer CSV a Bash
El fitxer CSV es pot analitzar de diferents maneres mitjançant un script Bash. En aquesta part del tutorial es mostren diferents maneres de llegir el fitxer 'customers.csv'.
Exemple 1: llegiu el contingut original del fitxer CSV
Creeu un fitxer Bash amb el següent script que llegeixi el contingut complet del fitxer 'customers.csv' mitjançant el bucle 'while':
#!/bin/bash
#Definiu el nom del fitxer
nom de l'arxiu = 'clients.csv'
#Llegiu cada línia del fitxer en cada iteració
mentre llegir dades
fer
#Imprimeix la línia
eco $data
fet < $nom de fitxer
La sortida següent apareix després d'executar l'script:
Exemple 2: llegiu el fitxer CSV posant la capçalera en majúscula
La primera línia del fitxer 'customers.csv' conté l'encapçalament del fitxer. Creeu un fitxer Bash amb el següent script que imprimeixi el contingut del fitxer 'customers.csv' després de posar en majúscula la primera línia del fitxer. L'ordre 'awk' s'utilitza a l'script per imprimir el contingut del fitxer després de posar en majúscula la capçalera. La coma (,) s'assigna als valors FS i OFS de l'script per llegir el fitxer 'customers.csv' i escriure el fitxer 'updatedcustomers.csv'. L'ordre 'cat' s'utilitza per imprimir el contingut dels dos fitxers.
imprimirf 'Fitxer original: \n '#Imprimeix el contingut original del fitxer CSV
gat cstomers.csv
#Creeu un fitxer CSV nou després de posar la capçalera en majúscula
awk 'BEGIN{FS=',';OFS=','}
{
si(NR==1)
retolador d'impressió ($0)
altra cosa
imprimir
}' clients.csv > updatedcustomers.csv
imprimirf ' \n Fitxer modificat: \n '
#Imprimeix el nou fitxer CSV
gat updatedcustomers.csv
La sortida següent apareix després d'executar l'script:
Exemple 3: substituïu el camp buit del fitxer CSV per 'Cap'
Creeu un fitxer Bash amb el següent script que imprimeixi el contingut del fitxer 'customers.csv' després de modificar el camp buit amb el valor 'Cap'. Dos camps estan buits en aquest fitxer que s'esmenten a continuació. L'ordre 'awk' s'utilitza a l'script per imprimir el contingut del fitxer després de modificar els camps buits. La coma (,) s'assigna als valors FS i OFS de l'script per llegir el fitxer 'customers.csv' i escriure el fitxer 'updatedcustomers.csv'. L'ordre 'cat' s'utilitza per imprimir el contingut dels dos fitxers en format tabular.
imprimirf 'Fitxer original: \n '#Imprimeix el contingut original del fitxer CSV en forma de taula
gat clients.csv | columna -s, -t
awk 'BEGIN{FS=',';OFS=','}
{
for(camp=1;camp<=NF;camp++)
{
if($camp == '') $camp='Cap'
}
imprimir
}' clients.csv > modifiedcustomers2.csv
imprimirf ' \n Fitxer modificat: \n '
#Imprimeix el nou fitxer CSV en forma de taula
gat modifiedcustomers2.csv | columna -s, -t
La sortida següent apareix després d'executar l'script:
Exemple 4: imprimiu el nombre total de files i columnes del fitxer CSV
Creeu un fitxer Bash amb l'script següent que compta el nombre total de files i columnes al fitxer 'customers.csv'. La variable NR s'utilitza per imprimir el nombre total de files del fitxer. La variable NF s'utilitza per imprimir el nombre total de camps del fitxer.
imprimirf 'Fitxer original: \n '#Imprimeix el contingut original del fitxer CSV
gat clients.csv
eco
eco -n 'Files totals:'
awk -F, 'FIN{imprimir NR}' clients.csv
eco -n 'Total de columnes:'
awk -F, 'FIN{imprimir NF}' clients.csv
La sortida següent apareix després d'executar l'script. El total de línies del fitxer és de 6 i el total de camps del fitxer és de 5 que s'imprimeixen a la sortida:
Conclusió
En aquest tutorial es mostren els mètodes per llegir un fitxer CSV, modificar el fitxer CSV i comptar les files i columnes del fitxer CSV mitjançant l'script Bash.