linux在多个文件中查找字符串
参考:https://wangchujiang.com/linux-command/c/grep.html 和 https://wangchujiang.com/linux-command/c/xargs.html
grep
强大的文本搜索工具
补充说明
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符。可使用正则表达式能配合多种命令使用,使用上十分灵活。
xargs
给其他命令传递参数的一个过滤器
补充说明
xargs 命令 是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs 能够处理管道或者 stdin 并将其转换成特定命令的命令参数。xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs 的默认命令是 echo,空格是默认定界符。这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。xargs 是构建单行命令的重要组件之一。
例子一
文件少的时候,直接用grep即可
输入 grep ‘ERROR’ job.log app.log
可以在job.log和app.log文件中查找到字符串的那一行
例子二
文件多的时候,需要几个命令一起用
输入 ls | xargs grep ‘8090’
例子三
还想知道字符串在文件中是第几行,可以给grep添加-n参数
输入 ls | xargs grep -n ‘8090’
留下评论