我想在具有子目录的目录中找到所有出现的“getId”,如下所示:
*/*/*/*/*/*/myfile.gz
我试过this找-name * myfile.gz -print0 | xargs -0 zgrep -i“getId”但它没有用。能有人告诉我最好最简单的方法吗?
答案 0 :(得分:1)
find ./ -name '*gz' -exec zgrep -aiH 'getSorById' {} \;
find允许你使用“-exe”对文件执行命令,并用文件名替换“{}”,你用“\;”终止命令
我在zgrep中添加了“-H”,因此当它有匹配时它也打印出文件路径,因为它很有帮助。 “-a”将二进制文件视为文本(因为您可能会获得tar目标gzip文件)
最后,如果bash开始使用它们,最好引用你的字符串。
https://linux.die.net/man/1/grep https://linux.die.net/man/1/find
答案 1 :(得分:0)
使用以下查找方法:
find . -name *myfile.gz -exec zgrep -ai 'getSORByID' {} \;
这将打印包含getSORByID
子串