grep命令使用总结

简介

grep命令是Linux中进行文本匹配查找的搜索工具。
global regular expression print,全局正则表达式输出。

命令格式

grep [options] "search str" filename

常用参数

  • -i 忽略大小写
  • -n 输出对应的行号
  • -c 统计符合的列数
  • -v 显示不包含匹配文本的所有行
  • -r 递归
  • -B 显示行之前的内容
  • -A 显示行之后的内容
  • -C 显示行前后的内容

使用实例

查找指定的进程

命令
ps -ef |grep ssh
输出
  502  4007     1   0 20 319  ??         0:02.18 /usr/bin/ssh-agent -l
  502 99134 97852   0 11:01上午 ttys000    0:00.00 grep ssh
说明
  • 第一行是要查找的进程
  • 第二行是grep进程本身,并非真正要查找的进程

如果想忽略第二行 只显示要查找的进程

ps -ef |grep ssh |grep -v grep // -v表示忽略掉grep

查找指定进程的个数

ps -ef |grep ssh -c // 输出2 [ssh进程 + grep进程]

真正指定的进程的个数

ps -ef |grep ssh |grep -v grep -c // 输出1

在文件中查找关键词

命令
grep str file

或者

cat file |grep str

显示关键词所在的行号

grep -n str file

在多个文件中查找关键词

grep str file1 file2

查找以指定字符串开头的内容

grep ^str file

查找非指定字符串开头的内容

grep ^[^str] file

查找以指定字符串结尾的内容

grep str$ file

查找多个字符串

grep -e str1 str2 file

在指定目录中查找内容

grep str ./*

在指定目录中及子目录中递归查找内容

grep -r str ./*

在指定目录中及子目录中递归查找内容 只输出匹配的文件 忽略匹配的内容

grep -l -r str ./*

输出匹配到的内容的前n行或者后n行

前n行 -B(Before)
grep -B n str file
后n行 -A(After)
grep -A n str file
前后各n行 -C
grep -C n str file

你可能感兴趣的:(grep命令使用总结)