我有一堆 tar.gz 文件,我想做一个“grep something * -Rin”,就像如果它们不是 tar.gzed 一样。我想将它们按原样保留 tar.gzed,但在运行时对它们进行 grep 并找到带有前缀文件和行号的 grep 出现。
就像是:
grep mytoken1 *.tar.gz -Rin
并得到类似的东西:
my1.tar.gz,dir1/file2:123:mytoken1 在这一行 my2.tar.gz,dir2/file3:233:mytoken1 也在另一行 [...]
有没有办法做到这一点?
我认为这会非常棘手。
事实上,tar 基本上是其所有包含文件的串联,并添加了标头。因此基本上grep-in-tar可以编写一个函数来处理这个问题并提供有关文件和行号的信息(带有标题读取和行号减法的基本 grep)。我没有听说过这样的程序。
问题出在 gzip 上。这是一种压缩格式,因此如果您想访问内容,则需要对其进行解压缩。
gunzip -c files.tgz | grep-in-tar
Run Code Online (Sandbox Code Playgroud)
将是一种做你想做的事的方法。目前您可以尝试gunzip -c files.tgz | grep -Rin,但它只会说二进制文件匹配。
| 归档时间: |
|
| 查看次数: |
2968 次 |
| 最近记录: |