我正在使用find在文件中寻找模式,然后我只希望找到的前十个和tar tar。
find /var/log/file | xargs grep "pattern" | head -n10 | tar -czvf tarfile.tgz
我也试过xargs
了tar
。这也会导致错误。我究竟做错了什么?
这是我从第一个命令中看到的内容:
tar: Cowardly refusing to create an empty archive
Try `tar --help' or `tar --usage' for more information.
您可以使用
tar cvzf files.tar.gz $(find /var/log/file -type f -exec grep -l "pattern" {} + | \
head -n10)
在这里,grep -l
将仅打印与模式匹配的文件。
如果出现错误,您将必须使用的-P
选项tar
错误tar:从成员名称中删除开头的“ /”
看 man tar
-P, --absolute-names
don't strip leading '/'s from file names
或者,您可以指定-C
更改目录,而不是指定存档文件的完整路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句