Se você remover o -path .
, mas manter o !
no início, então -type d
não será ignorado, sua condição será ! -type d
, o que significa "não diretório". Então você consegue o que você pede.
Alguém pode explicar o que find -path
significa?
Eu tentei olhar para a página de manual, mas não entendi porque funciona da maneira que funciona com o script que escrevi.
find ! -path . -type d -printf '%T@ %P\n' | sort -nr | head -n3 | awk '{print $2}'
Isso retorna para mim os três últimos diretórios modificados na pasta atual Im in. No entanto, quando eu removo o -path .
, ele só retorna arquivos para mim, em vez de pastas. É quase como se -type d
fosse ignorado.
Se você remover o -path .
, mas manter o !
no início, então -type d
não será ignorado, sua condição será ! -type d
, o que significa "não diretório". Então você consegue o que você pede.
O comando que você está tentando irá ignorar a pasta atual com o argumento ! -path .
. Como você removeu somente -path .
, o não-operador !
será aplicado ao argumento subsequente, -type d
.
O resultado é que find
ignorará todos os diretórios no caminho de localização.