O que você quer fazer é avaliar seus arquivos de acordo com um teste condicional específico e executar uma ação em cada arquivo de acordo com o resultado do teste condicional. Este é o objetivo exato do comando find
.
Aqui está um comando portátil ( POSIX-compliant ) para remover arquivos comuns que têm um conteúdo, incluindo um "0" ou um "7":
find . -type f -exec grep -q '[07]' {} \; -exec rm {} +
Note que este recursivamente pesquisa o diretório atual.
Se não é isso que você quer, você pode verificar se o -maxdepth
primary está disponível (nesse caso você também pode usar o -delete
primário; nem é especificado pelo POSIX):
find . -maxdepth 1 -type f -exec grep -q '[07]' {} \; -delete
Ou você pode aplicar as técnicas fornecidas em: