Listar todos os arquivos que não correspondem ao seletor (usando ls) [duplicado]
Duplicata Possível:
Como posso usar curingas inversas ou negativas quando a correspondência de padrões em um shell unix / linux?
Eu li oman
página parals
, e não consigo encontrar a opção de listar todos que fazemnão corresponde ao seletor de arquivos. Você sabe como realizar esta operação?
Por exemplo: digamos que meu diretório seja este:
> ls
a.txt b.mkv c.txt d.mp3 e.flv
Agora eu gostaria de fazer algo que faça o seguinte
> ls -[SOME_OPTION] *.txt
b.mkv d.mp3 e.flv
Existe tal opção?
Se não, existe uma maneira de canalizar a saída dels
para outra função (possivelmentesed
) que mostra apenas os que eu gostaria?
Eu não sei exatamente como fazer isso, mas estou imaginando que seria algo como:
> ls | sed [SOMETHING]
Eu realmente deveria aprender como usarsed
,awk
,egrep
, mas eu continuo ficando preso em entender como escrever os regexes. Eu entendo claramente o conceito de expressões regulares, mas fico confuso entre expressões regulares que usam sintaxe diferente.
Qualquer ajuda seria muito apreciada!
EDITAR:
Eu esqueci de mencionar que eu estou rodando o Mac OS X, então as funções podem ser ligeiramente diferentes daquelas discutidas em outras respostas para o shell unix / linux (daí algumas das minhas confusões comsed
,awk
,egrep
).