此命令将在所有目录和子目录中搜索包含“文本”的文件

grep -r "文本"*

如何指定仅在名为“strings.xml”的文件中搜索?

请您参考如下方法:

你会想要使用 find为此,由于 grep不会以递归方式工作(据我所知)。像这样的东西应该工作:

find . -name "strings.xml" -exec grep "text" "{}" \; 
find命令从当前目录 ( . ) 开始搜索名为 strings.xml ( -name "strings.xml" ) 的文件,然后对于找到的每个文件,执行 grep指定的命令。花括号 ( "{}" ) 是 find 的占位符用于指定它找到的文件的名称。更多详情请见 man find .

另请注意 -r不再需要 grep 选项,因为 find递归工作。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!