Aqui está uma versão segura para nomes com espaço em branco:
find /var/log/folder -type f -printf '%T@ %pfind /var/log/folder -type f -printf '%T@ %p%pre%' | sort -rz | sed -Ezn '1s/[^ ]* //p' | xargs --null grep string
' | sort -rz | sed -Ezn '1s/[^ ]* //p' | xargs --null grep string
Como funciona:
-
find /var/log/folder -type f -printf '%T@ %p
sort -rz
'Isso procura por arquivos e imprime seu tempo de modificação (segundos) seguido por um espaço e seu nome seguido por um caractere nulo.
-
sed -Ezn '1s/[^ ]* //p'
Isso classifica os dados separados por nulos.
-
sed -z
xargs --null grep string
lida com linhas delimitadas por caracteres nul e isso imprime apenas o nome do arquivo mais recente -
%code%
Isto lê o nome do arquivo separado por nulo e retorna a string.