localize o caminho do argumento da linha de comandos

0

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.

    
por walksignison 19.08.2018 / 14:59

2 respostas

1

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.

    
por 19.08.2018 / 15:04
0

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.

    
por 19.08.2018 / 15:06

Tags