Você usou a opção -print0
com find
e -0
com xargs
, mas esqueceu de usar -z
para sort
, portanto sort
vê basicamente uma única linha (a menos que sua nomes de arquivos contêm \n
). A saída que você vê com ls
provavelmente é ls
fazendo alguma classificação.
find /opt/minecraft/wonders/logs/ -name '20*' -type f -mtime -3 -print0 |
sort -z | xargs -r0 gunzip -vc | grep /opt
(Nota: 20*
é um glob e precisa ser citado para o shell, então é passado literalmente para find
, você não quer escapar de /
para grep
, o que isso faz é não especificado, não há necessidade de .*
no final do regexp se tudo que você quer é imprimir a linha correspondente)