Como remover as linhas que possuem campos vazios?

0

Eu tenho um arquivo CSV com várias colunas, vírgulas "," separadas e números de linhas.
algumas linhas têm um ou dois campos vazios "Colunas". Como posso identificar em um arquivo separado e / ou remover essa linha com uma ou mais colunas vazias com o comando Awk .

exemplo

aaaa,bbbb,cccc,dddd,
,bbbb,cccc,dddd,
aaaa,,cccc,dddd,
aaaa,,,dddd,
,,,dddd,

O "," significa colunas vazias. Eu tentei este comando, mas não funcionou!

awk -F, '$1,4~/^$/' filename 

A saída esperada deve ser apenas:

aaaa, bbbb, cccc, dddd,

    
por Daniel 24.11.2016 / 05:01

2 respostas

0

Você pode soltar qualquer linha com duas vírgulas adjacentes ou separadas apenas por espaço em branco, ou que são as primeiras na linha? Algo como:

 [dynamic<1>butlet]tmp $ cat data2
aaaa,bbbb,cccc,dddd,
,bbbb,cccc,dddd,
aaaa,,cccc,dddd,
aaaa,,,dddd,
,,,dddd,

 $ egrep -v ',[ ^I]*,|^[ ^I]*,' data2
aaaa,bbbb,cccc,dddd,
    
por 24.11.2016 / 05:13
0
awk -F, '{for(i=1;i<=NF;i++)if($i==""){next}}1' inputfile
    
por 24.11.2016 / 08:06