Supondo que os nomes dos arquivos não contenham caracteres de nova linha, POSIXly (exceto por pbzip2
obviamente), que pega a lista de arquivos para arquivar em stdin por padrão (e também grava o arquivo em stdout por padrão)
find /tmp -mtime +31 -type f -name "arch*" | pax -w | pbzip2 > file.tar.bz2
Ou para usar o Solaris tar
, para que você possa manter suas opções P
/ E
:
find /tmp -mtime +31 -type f -name "arch*" |
tar cvPEf - -I /dev/stdin | pbzip2 > file.tar.bz2
-I /dev/stdin
para obter a lista de arquivos de stdin, f -
para gerar o arquivo no stdout, que é compactado em pbzip2
, como pax
.