如何在find -exec中使用tar'--remove-files'选项?

牧元马拉卡蒂

我有一些我想压缩非常大的日志文件独立,所以我不能用xargs的或管道标准输出,以获得巨大的压缩文件。

我正在尝试这样做:

find . -mtime +1 -iname "*.log" -exec tar -jcvf {} --remove-files \; 

但我得到:

tar: Cowardly refusing to create an empty archive
Try `tar --help' or `tar --usage' for more information.

我已经尝试过转义双破折号(-),但我认为这是问题所在,但无济于事。

是的,find确实找到了一个文件:

find . -mtime +1 -iname "*.log" 
./20141002.tcp.log                  # just a test file...

谁能告诉我我在做什么错?

谢谢!

耶利亚格雷

Tar之所以抱怨,是因为您错过了将参数传递给它的-f选项,而不是因为--您怀疑的原因。

这是一种修复GNU tar可能与您正在使用的命令配合使用的方法:

find . -mtime +1 -iname "*.log" -exec tar --remove-files -jcvf {}.tar.bz2 {} \; 

如果您的find实现要{}像POSIX标准所指定的那样保持独立,则可以运行:

find . -mtime +1 -iname "*.log" -exec sh -c 'tar --remove-files -jcvf $1.tar.bz2 $1' sh {} \; 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在sh中使用'find'的'-prune'选项?

Javascript:如何使用下拉列表中的remove()撤消对选项的删除?

您如何在-cut选项中使用-z选项?

如何在RCurl中使用curl选项

如何在IWebDriver中使用IE选项?

如何在pdfkit中使用'cover'选项?

如何不使用FOLLOW_LINKS选项调用Java nio Files.find?

如何在'find'的'-exec'属性中使用'if'?

了解`find`的-exec选项

在tar命令中使用-C选项时,如何使用通配符/通配符?

从数组构建选项时,如何在find命令中使用括号'()'?

如何在Install4j的自定义代码和资源文件选项中使用tar.gz

如何在`find`命令的extra -exec选项中表示所有文件/目录?

如何在zparseopts中使选项(不是选项的参数)成为必需的?

使用列表下载时如何在wget中使用选项?

如何在多行中使用grep并使用-A选项

如何在 JRadioButton 中使用 Java 首选项类

如何在react-bootstrap select选项中使用Translate

如何在Java中使用选项执行dos命令

如何在IntelliJ中使用-parameters javac选项?

如何在绉纱模块中使用 --step-size 选项?

如何在Android中使用选项执行Unix'top'命令

如何在Linux“屏幕”程序中使用选项卡?

如何在tornadofx中使用首选项。

如何在 Powershell HTML 输出中使用搜索选项

如何在“ I”(summertime选项)中使用mktime?

如何在Spyder中使用“另存为”选项?

如何在shields.io徽章中使用“徽标”选项?

如何在Android的“共享首选项”中使用主键?