
Eu tenho um arquivo .csv com várias linhas de dados. Eu tenho que procurar um valor específico na string/registro e excluir essa linha.
Por exemplo:
abc.csv
col1_id,col2,col3,col4,col5
1000541,aaaa,bbbb,cccc,dddd
1000542,eeee,ffff,gggg,hhhh
1000543,iiii,jjjj,kkkk,llll
1000544,mmmm,nnnn,oooo,pppp
Preciso procurar 1000542 e remover toda a linha que contém esse número:
col1_id,col2,col3,col4,col5
1000541,aaaa,bbbb,cccc,dddd
1000543,iiii,jjjj,kkkk,llll
1000544,mmmm,nnnn,oooo,pppp
Responder1
Você pode usar sed
para remover uma linha:
sed -i '/1000542/d' abc.cvs
onde d
remove a linha, -i
diz sed
para operar no arquivo em vez de apenas gerar o texto modificado, 1000542
é o padrão que você deseja procurar e abc.cvs
é o nome do arquivo.
Responder2
Você também pode usar o awk,
awk '/1000542/ {next}1' infile > outfile
Exemplo:
$ awk '/1000542/ {next}1' file
col1_id,col2,col3,col4,col5
1000541,aaaa,bbbb,cccc,dddd
1000543,iiii,jjjj,kkkk,llll
1000544,mmmm,nnnn,oooo,pppp
Ele pula a linha que contém 1000542
a impressão.