Exclui todas as linhas com caracteres minúsculos específicos no arquivo de texto unix

0

Eu tenho um arquivo de texto que possui uma combinação de caracteres inferiores / superiores. Eu quero remover as linhas onde algumas de algumas letras minúsculas específicas são vistas.

Conteúdo do arquivo de texto:

aASDF1234qwerty;lkJHG
fdsaAghiyirchgdadgqa2

Tarefa - Remove todas as linhas onde qualquer um dos caracteres minúsculos 'a', 'e', 'j', 'k' ocorre.

Eu tentei abaixo da opção para obter todas as linhas onde apenas maiúsculas são encontradas, mas não está funcionando como esperado. grep -wo '[[:alnum:]]*A*E*J*K*[[:alnum:]]*' test.txt

    
por Nikhil Mehta 27.07.2017 / 23:37

1 resposta

4

Usando grep :

grep -v '[aejk]' /path/to/file

Usando awk :

awk '! /[aejk]/ { print }' /path/to/file

Usando sed :

sed '/[aejk]/d' /path/to/file

A expressão regular usada em todos esses exemplos, /[aejk]/ , pode ser transliterada para significar "qualquer caractere de: a , e , j ou k ". As invocações grep e awk retornam qualquer linha que não corresponda a essa expressão; a invocação sed tem o mesmo resultado final, mas funciona omitindo do arquivo analisado quaisquer linhas que fizerem corresponderem.

    
por 27.07.2017 / 23:40

Tags