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@ %psort -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 -zxargs --null grep stringlida 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.