Tar 归档所有带扩展名的文件

Tar 归档所有带扩展名的文件

我正在使用此命令来存档所有 PHP 文件:

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

它工作得很好,除了输出是这样的:

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

代替:

file1.php
file2.php
file3.php

我需要如何修改我的命令以便 ./ 不包含在我的档案中?

答案1

控制 find 输出的最通用的工具是它自己的 -printf 功能。它具有 %P 序列,其功能是

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


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

是相同的

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

因此从每行开头删除 ./

相关内容