2

我想在具有子目录的目录中找到所有出现的“getId”,如下所示:

*/*/*/*/*/*/myfile.gz

我试过这个find -name *myfile.gz -print0 | xargs -0 zgrep -i "getId" 但它没有用。谁能告诉我最好和最简单的方法来获得这个?

4

2 回答 2

2
find ./ -name '*gz' -exec zgrep -aiH 'getSorById' {} \;

find 允许您使用“-exe”对文件执行命令,并将“{}”替换为文件名,使用“\;”终止命令

我在 zgrep 中添加了“-H”,因此它还会在匹配时打印出文件路径,因为它很有帮助。“-a” 将二进制文件视为文本(因为您可能会得到 tar-ed gzipped 文件)

最后,最好引用你的字符串,以防 bash 开始使用它们。

https://linux.die.net/man/1/grep https://linux.die.net/man/1/find

于 2017-10-10T08:57:53.453 回答
0

使用以下查找方法:

find . -name *myfile.gz -exec zgrep -ai 'getSORByID' {} \;

这将打印包含getSORByID子字符串的所有可能行

于 2017-10-10T08:56:09.590 回答