Tar Arquivar todos os arquivos com extensão

0

Estou usando este comando para arquivar todos os arquivos PHP:

find -name "*.php" | sudo tar -zcpvf my-archive.tar.gz -T -

Funciona muito bem, exceto que a saída é assim:

./file1.php
./file2.php
./file3.php

Em vez de:

file1.php
file2.php
file3.php

Como preciso modificar meu comando para que ./ não seja incluído no meu arquivo?

    
por GTS Joe 13.03.2016 / 19:23

1 resposta

0

A ferramenta mais versátil para controlar a saída do find é seu próprio recurso -printf. Tem a sequência% P cuja função é

  %P     File's  name  with  the name of the command line argument
         under which it was found removed.


find -name '*.php' -printf "%P\n"

é o mesmo que

find ./ -name '*.php' -printf "%P\n"

so ./ é removido do começo de cada linha

    
por 13.03.2016 / 20:22