Eu costumo fazer correntes para isso.
grep uploaded $file | grep -v 09
Eu gostaria de pesquisar as linhas que contêm "upload", mas não contêm "09"
Existe uma maneira de fazer isso com o grep?
(CentOS 5.6 se for importante).
Você pode usar a opção -v para grep para inverter o jogo, então
grep uploaded file | grep -v 09
fará o que você quiser. Isto encontra as linhas que contêm upload que são passadas em um comando grep para ignorar linhas com 09 nelas.
Isso não está usando grep
- mas sempre que preciso de mais do que um grep
básico, eu ligo para o meu favorito, sed
. Certamente sempre que eu tiver que encadear os comandos grep
juntos ...
Use este comando para fazer isso:
sed -n '/09/d; /uploaded/p' file
Apenas um único comando (não dois).
Tente simplesmente:
( grep -v 09 | grep uploaded ) < file
Exemplo:
$ cat file
1 uploaded 09
2 09
3 uploaded
4 text
$ ( grep -v 09 | grep uploaded ) < file
3 uploaded