加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 使用grep -lr输出将文件添加到tar

发布时间:2020-12-14 00:28:57 所属栏目:Linux 来源:网络整理
导读:在UBUNTU和CENTOS. 我有一些我想基于其内容tar的文件. $grep -rl "123.45" . 以这种格式返回大约10个文件的列表: ./somefolder/someotherfolder/somefile.txt./anotherfolder/anotherfile.txt 等等… 我想tar.gz所有这些. 我试过了: $grep -rl "123.45" .
在UBUNTU和CENTOS.

我有一些我想基于其内容tar的文件.

$grep -rl "123.45" .

以这种格式返回大约10个文件的列表:

./somefolder/someotherfolder/somefile.txt
./anotherfolder/anotherfile.txt

等等…

我想tar.gz所有这些.

我试过了:

$grep -rl "123.45" . | tar -czf files.tar.gz

不行.这就是我在这里的原因.有任何想法吗?谢谢.

刚试过这个,它在Ubuntu中工作,但是在CentOS中我得到“tar:02:无法统计:没有这样的文件或目录”.

$tar -czf test.tar.gz `grep -rl "123.45" .`

如果其他人有更好的方式,请告诉我.至少在Ubuntu上面这个很好用.

解决方法

像这样:

... | tar -T - -czf files.tar.gz

“-T – ”导致tar从stdin读取文件名.第二个减号代表stdin. –

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读