Linux tar与模式匹配并删除前导路径

时间:2018-03-02 01:25:16

标签: linux tar

我试图归档位于/ var / log目录中的所有.log文件,并在创建时删除文件上的所有前导路径。

我发现我可以使用以下内容轻松归档所有.log文件:

tar -cvf ~/backup.tar /var/log/*.log

遗憾的是,在线搜索删除前导路径的方法是使用-C更改命令的目录,但现在它不识别*.log并认为*字面意思。

使用:

tar -cvf ~/backup.tar -C /var/log *.log

我收到错误消息,说找不到文件*.log

我想我的语法必须关闭,并且我已尝试对语法进行一些更改但无济于事。

1 个答案:

答案 0 :(得分:-1)

使用查找将文件传递给 tar

find /var/log -name *.log -printf '%P\n' |\
  tar -C /var/log -czf backup.tar.gz -T -
  • 查找将查找* .log文件和printf格式化输出以显示文件名。
  • tar的' -T - '告诉从stdin读取文件名