Encontre os arquivos que eu quero, o pipe para xargs e o Tar não

0

Eu estou usando a seguinte linha de comando:

find . -mtime -15 -mtime 0  -print0 | xargs -0  tar cjvf /home/user/adjuntos.tar.bz2

O lado esquerdo do tubo funciona como um encanto, mas o lado direito do tubo pega todos os arquivos do diretório.

Eu não sei o que estou fazendo de errado. Você pode me ajudar por favor?

JuanEs1eban
fonte

Respostas:

2

Seu find comando listas prováveis . também ( mtime do . sendo possivelmente o mesmo que o arquivo modificado mais recentemente), o que faz com que o diretório atual seja incluído pelo tar.

Se você quiser incluir apenas arquivos regulares e não diretórios, você pode usar -type f com find.

sebasth
fonte
0

Em adição ao -type f, não há necessidade de xargs, um plain -exec funciona da seguinte maneira:

find . -mtime -15 -mtime 0  -exec tar cjvf /home/user/adjuntos.tar.bz2 {} +

(a {} + significa "todos os arquivos correspondentes juntos")

xenoid
fonte