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?

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.


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")

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.