Ajudar com sed - remover linhas específicas com determinada string

1

Estes são os conteúdos do arquivo de texto:

cat
dog
elephant
cat lion
cat tiger
penguin
penguin emperor
zebra

Eu quero remover a linha que contém apenas cat e manter as linhas gato leão e gato tigre .

Pode haver nth número de espaços após a palavra cat na linha cat , pode ser zero ou 10.

Alguma idéia de como isso pode ser feito?

    
por mrjayviper 17.07.2015 / 17:58

1 resposta

2

É fada simples com sed :

sed -e '/^cat$/d' <file

/^cat$/ corresponde apenas à linha que contém apenas cat e, em seguida, d elete essa linha.

ou awk :

awk '!/^cat$/' <file

ou grep :

grep -v '^cat$' <file
    
por 17.07.2015 / 18:06