我想在具有如下子目录的目录中查找所有出现的“getId”:
*/*/*/*/*/*/myfile.gz
我试过this查找 -name *myfile.gz -print0 | xargs -0 zgrep -i "getId"但它不起作用。谁能告诉我最好和最简单的方法来实现这个?
最佳答案
find ./ -name '*gz' -exec zgrep -aiH 'getSorById' {} \;
find 允许您使用“-exe”对文件执行命令,并将“{}”替换为文件名,您可以使用“\;”终止命令
我在 zgrep 中添加了“-H”,这样它在匹配时也会打印出文件路径,因为它很有帮助。 “-a”将二进制文件视为文本(因为您可能会得到 tar 压缩的文件)
最后,最好引用你的字符串,以防 bash 开始通配它们。
https://linux.die.net/man/1/grep https://linux.die.net/man/1/find
关于bash - 使用bash获取.gz文件中目录(包括子目录)中所有出现的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46662224/