Eu gostaria de remover linhas que têm um "na"
Arquivo
0.000
0.000
0.055
0.036
0.003
0.002
0.000
0.002
0.002
0.002
0.000
na
na
0.000
0.000
na
0.002
0.002
0.003
resultado
0.000
0.000
0.055
0.036
0.003
0.002
0.000
0.002
0.002
0.002
0.000
0.000
0.000
0.002
0.002
0.003
Eu estava tentando fazer isso em R mas não consegui recolher as linhas, basta remover o na
Tão simples quanto:
Com awk:
O "!" meios não coincidem. O "/na/" especifica o padrão "na". Juntos, eles significam que não correspondem às linhas que contêm o padrão na. O comportamento padrão do awk é imprimir, mas você também pode dizer especificamente para imprimir (chamar a função print) assim:
Para não imprimir as linhas vazias no arquivo, use esta expressão regular. !/^$/ Isso diz ao awk para não corresponder em uma linha vazia. Ele irá corresponder começando do início da linha designada por um "^" até o final da linha designada por um "$" sem conteúdo no meio. O "&&" diz para usar ambas as expressões ao avaliar cada linha.
Com sed:
O "/d diz ao sed para deletar a linha que contém o padrão correspondente "/na/"
Para modificar diretamente o arquivo fonte, sem precisar escrever em um novo arquivo, use a opção -i (no local) com sed
Usando nada além do shell bash com o bash embutido:
Com Python:
Tal como acontece com todos os outros exemplos, isso não deixará uma linha em branco, dada a entrada de amostra fornecida na pergunta original.
resultado