Assumindo uma implementação de find
como o GNU find
que aceita um {}
incorporado em um argumento para -exec
:
$ find . -type d \! -exec test -e '{}/README' \; -print
Exemplo
Aqui os diretórios 1/1 a 5/5 têm um README, os outros diretórios estão vazios.
$ tree
.
|-- 1
| '-- 1
| '-- README
|-- 10
| '-- 10
|-- 2
| '-- 2
| '-- README
|-- 3
| '-- 3
| '-- README
|-- 4
| '-- 4
| '-- README
|-- 5
| '-- 5
| '-- README
|-- 6
| '-- 6
|-- 7
| '-- 7
|-- 8
| '-- 8
'-- 9
'-- 9
Agora, quando executarmos esta versão do nosso comando find
:
$ find . -type d \! -exec test -e '{}/README' \; -print
.
./10
./10/10
./7
./7/7
./9
./9/9
./6
./6/6
./5
./8
./8/8
./4
./1
./3
./2