A saída de ls
já está classificada por padrão da mesma maneira que sort
classifica por padrão, portanto, sort
não é necessário.
A maneira mais comum de passar uma lista gerada de arquivos para um comando é usar xargs
. Veja a página xargs
man para detalhes, mas neste caso você não precisa de nenhuma opção. ( xargs
pode não fazer o que você quer se você tiver um grande número de arquivos, mas nos casos mais comuns ele funciona bem sem que você precise pensar sobre isso.)
A versão de tail
usada em muitos sistemas Linux atualmente não aceita apenas -3
como uma opção. Isso requer que você use -n3
.
Finalmente, o cat
no final do seu pipeline não está fazendo nada útil, então ele pode ser omitido também.
Este comando deve fazer o que você quiser.
ls | xargs tail -n3
Atualizar
Acabei de ler a resposta do @ AtomicHeartFather e percebi que posso ter colocado o tail
na parte errada do problema. Nesse caso, o comando seria
ls | tail -n3 | xargs cat
que é praticamente o que o AtomicHeartFather escreveu, exceto pelo sort
.