Pré-requisitos:
Você precisa criar um arquivo CSV antes de praticar o exemplo deste tutorial. Crie um arquivo CSV denominado “customers.csv” com o seguinte conteúdo para verificar a saída do script usado neste tutorial. Neste arquivo, os 3 terceiro campos do 4 º linha e 6 º linha estão vazias.
ID, nome, e-mail, endereço, celular101 , Jafar Iqbal, Jafar @ gmail.com, 9 / A Dhanmondi Dhaka, + 8801762341425
102 , Kamal Hossain, Kamal @ gmail.com, 120 Mirpur Daca, 8801988675345
103 Nirob Chowdhury 33 / 2 Jigatola Daca, 8801754532312
104 Farheen Hasan @ gmail.com < a href = 'em branco' > , a > 10 Kadhalbagun Daca, + 8801512875634
105 , MD. Rahim,, 2 / B Dhanmondi Daca, + 8801700453423
Diferentes maneiras de ler o arquivo CSV no Bash
O arquivo CSV pode ser analisado de diferentes maneiras usando um script Bash. Diferentes maneiras de ler o arquivo “customers.csv” são mostradas nesta parte do tutorial.
Exemplo 1: leia o conteúdo original do arquivo CSV
Crie um arquivo Bash com o seguinte script que lê o conteúdo completo do arquivo “customers.csv” usando o loop “while”:
#!/bin/bash
#Defina o nome do arquivo
nome do arquivo = 'clientes.csv'
#Leia cada linha do arquivo em cada iteração
enquanto ler dados
fazer
#Imprime a linha
eco $dados
feito < $arquivo
A seguinte saída aparece após a execução do script:
Exemplo 2: leia o arquivo CSV colocando o cabeçalho em maiúscula
A primeira linha do arquivo “customers.csv” contém o cabeçalho do arquivo. Crie um arquivo Bash com o seguinte script que imprime o conteúdo do arquivo “customers.csv” depois de colocar em maiúscula a primeira linha do arquivo. O comando “awk” é usado no script para imprimir o conteúdo do arquivo após capitalizar o cabeçalho. A vírgula (,) é atribuída nos valores FS e OFS no script para ler o arquivo “customers.csv” e gravar o arquivo “updatedcustomers.csv”. O comando “cat” é usado para imprimir o conteúdo de ambos os arquivos.
printf 'Arquivo Original: \n '#Imprima o conteúdo original do arquivo CSV
gato clientes.csv
#Cria um novo arquivo CSV após capitalizar o cabeçalho
estranho 'BEGIN{FS=',';OFS=','}
{
se(NR==1)
impressão superior ($0)
outro
imprimir
}' clientes.csv > clientes atualizados.csv
printf ' \n Arquivo modificado: \n '
#Imprima o novo arquivo CSV
gato clientes atualizados.csv
A seguinte saída aparece após a execução do script:
Exemplo 3: substitua o campo vazio do arquivo CSV por “Nenhum”
Crie um arquivo Bash com o seguinte script que imprime o conteúdo do arquivo “customers.csv” após modificar o campo vazio com o valor “None”. Dois campos estão vazios neste arquivo que são mencionados a seguir. O comando “awk” é utilizado no script para imprimir o conteúdo do arquivo após modificar os campos vazios. A vírgula (,) é atribuída nos valores FS e OFS no script para ler o arquivo “customers.csv” e gravar o arquivo “updatedcustomers.csv”. O comando “cat” é usado para imprimir o conteúdo de ambos os arquivos no formato tabular.
printf 'Arquivo original: \n '#Imprima o conteúdo original do arquivo CSV em formato tabular
gato clientes.csv | coluna -s, -t
estranho 'BEGIN{FS=',';OFS=','}
{
for(campo=1;campo<=NF;campo++)
{
if($campo == '') $campo='Nenhum'
}
imprimir
}' clientes.csv > clientesmodificados2.csv
printf ' \n Arquivo modificado: \n '
#Imprima o novo arquivo CSV em formato tabular
gato clientesmodificados2.csv | coluna -s, -t
A seguinte saída aparece após a execução do script:
Exemplo 4: imprimir o número total de linhas e colunas do arquivo CSV
Crie um arquivo Bash com o seguinte script que conta o número total de linhas e colunas no arquivo “customers.csv”. A variável NR é usada para imprimir o número total de linhas do arquivo. A variável NF é utilizada para imprimir o número total de campos do arquivo.
printf 'Arquivo original: \n '#Imprima o conteúdo original do arquivo CSV
gato clientes.csv
eco
eco -n 'Total de linhas:'
estranho -F, 'END{imprimir NR}' clientes.csv
eco -n 'Colunas totais:'
estranho -F, 'END{imprimir NF}' clientes.csv
A saída a seguir aparece após a execução do script. O total de linhas no arquivo é 6 e o total de campos do arquivo é 5 que são impressos na saída:
Conclusão
Os métodos de leitura de um arquivo CSV, modificação do arquivo CSV e contagem das linhas e colunas do arquivo CSV usando o script Bash são mostrados neste tutorial.