But*_*kus 4 linux ubuntu grep centos tar
在UBUNTU和CENTOS.
我有一些我想基于其内容tar的文件.
$ grep -rl "123.45" .
Run Code Online (Sandbox Code Playgroud)
以这种格式返回大约10个文件的列表:
./somefolder/someotherfolder/somefile.txt
./anotherfolder/anotherfile.txt
Run Code Online (Sandbox Code Playgroud)
等等...
我想tar.gz所有这些.
我试过了:
$ grep -rl "123.45" . | tar -czf files.tar.gz
Run Code Online (Sandbox Code Playgroud)
不行.这就是我在这里的原因.有任何想法吗?谢谢.
只是尝试这样做,它在Ubuntu的工作,但在CentOS的我得到"焦油:02:无法统计:没有这样的文件或目录".
$ tar -czf test.tar.gz `grep -rl "123.45" .`
Run Code Online (Sandbox Code Playgroud)
如果其他人有更好的方式,请告诉我.至少在Ubuntu上面这个很好用.
像这样:
... | tar -T - -czf files.tar.gz
Run Code Online (Sandbox Code Playgroud)
"-T - "导致tar从stdin读取文件名.第二个减号代表stdin. -