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

0

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 cano funciona como um encanto, mas o lado direito do cano pega todos os arquivos do diretório.

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

    
por JuanEs1eban 03.08.2017 / 23:49

2 respostas

2

Seu comando find provavelmente também lista . ( mtime of . 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ê deseja incluir somente arquivos regulares e não diretórios, use -type f with find .

    
por 04.08.2017 / 00:29
0

Em adidtion 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 {} +

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

    
por 04.08.2017 / 10:16