关于后端:006-Linux-命令三剑客之grep

49次阅读

共计 1673 个字符,预计需要花费 5 分钟才能阅读完成。

01 一起来意识 grep!

Linux 命令三剑客,sed、grep、awk。

  • sed:善于数据批改。
  • grep:善于数据查找定位。
  • awk:善于数据切片,数据格式化,性能最简单。
    grep 能够说是这三个命令中的红人,是咱们日常应用频率最高的命令,上面和锅锅一起来搞定它。

02 grep 命令罕用可选参数

  • -n # 显示行号。
  • -i # 不辨别大小写。
  • -c # 统计匹配行,命中查找字符串的总行数。
  • -v # 显示不蕴含匹配文本的所有行。
  • -r # 递归解决。
  • -E # 应用正则表达式作为匹配进行查找(注:-e 没有 -E 反对的残缺)。
  • –include # 指定匹配的文件类型。
  • –exclude # 过滤不须要匹配的文件类型。
    应用示例:
  • grep -i “error” info.log
  • grep -in  “error” info.log #不辨别大小写,并显示行号。

03 grep 同时查找多个文件

  1. grep -in “key”  info.log  warn.log # 从文件 info.log 和 warn.log 查找字符串 ”key”,不辨别大小写,并显示行号。
  2. grep -n “key”  * # 查问当前目录下所有文件中蕴含字符串 ”key”,并显示对应的行号。

04 grep 递归查找

后面曾经总结过,-r/ R 参数,即 recursion,递归的意思。

  • grep -rn “key” * # 递归查问当前目录及其子目录所有文件中蕴含字符串 ”key”,并显示对应的行号。

05 grep 查找对应字符前后 n 行

  • grep -a10 “bug” info.log #查看 ”bug” 字符后的 10 行,a->after。
  • grep -b10 “bug”  info.log # 查看 ”bug” 字符前的 10 行,b->before。
  • grep -c10 “bug”  info.log # 查看 ”bug” 字符前后各 10 行。

06 grep 罕用组合命令示例

  • history|grep rm # 查找历史命令中执行了哪些删除命令。
  • cat *.log | grep ‘exception’ # 查找当前目录下所有 log 日志中的 exception 字符行。
  • ps -ef|grep java # 此命令为个别运维中最常用命令,查问 linux 过程中是否运行了此程序。
  • rpm -qa |grep yum # 查问 linux 下是否有装置过此 rpm 包。
  • grep -En ‘^2020’ info.log # 应用正则表达式查找,查找以 2020 结尾的行,并显示其行号。
  • grep -rn “warn”    –include  “.log” # 递归查问当前目录及其子目录所有 log 类型文件中蕴含字符串 ”warn”,并显示对应的行号。
  • netstat -nap|grep -E “6651”|grep -E “203.130.41.24” # 多个条件过滤查找。
  • tail -1000f info.log | grep -E “aaa|bbb” # aaa 或 bbb 的条件都能够搜寻到,这个命令实际中,滚动实时查看日志很罕用。
  • tail -10000f info.log |grep ‘check’ >> call.log # 查找,并把合乎规定的输入到对应文件中
  • grep -E ‘keyword1.*keyword2’ info.log # 多个关键字同时呈现查找过滤
  • grep -E ‘^Error’ info.log |grep ‘failed’|awk -F ‘ ‘ ‘{print $10}’ # 查找以 Error 结尾,过滤蕴含 failed 的行,并以空格分隔,输入第 10 个的内容

07 grep 相干的拓展命令

  • pgrep:查找正在运行的程序,pgrep 是 grep 的扩大性能,同样的还有 egrep、fgrep。
  • egrep:扩大正则表达式,相当于 grep –E。
  • fgrep:不辨认解析正则表达式,个别很少用。

08 小结

  • grep 命令,善于查找字符串,正向查找,反向查找,正则查找,多文件查找,递归查找等。
  • grep 查找对应字符前后 n 行,对大日志检索关键字时比拟有用。此外 grep 还能够配合其余命令一起大展身手!配合正则表达式,能够更加灵便的实现查找性能,正则表达式相干的内容后面的文章有一些总结。

「不甩锅的码农」原创,转载请注明起源,未经受权禁止商业用途!同名 GZH 请关注!

正文完
 0