Centos7中grep,fgrep,pgrep的区别以及相关使用

一、grep命令

grep(Global Regular Expressions Print)意为全局正则表达式打印。

grep是一个逐行扫描指定文件或文件的程序,返回包含模式的行。模式是一种表达式,它通过将字符解释为元字符来指定一组字符串。这使用户能够在grep命令中键入一系列短字符和元字符,以使计算机向我们显示哪些文件匹配的行。
 

grep的使用格式:grep   <选项>    '查找项目'   <指定文件>

 通过过滤    ‘关键词’   查找指定对象

grep的选项:

-i   忽略大小写
-c   只输出匹配行的数量
-l   只列出符合匹配的文件名,不列出具体的匹配行
-n   列出所有的匹配行,显示行号
-h   查询多文件时不显示文件名
-s   不显示不存在、没有匹配文本的错误信息
-v   取反显示包含匹配文本的所有行
-w   匹配整词-x匹配整行-r递归搜索
-q   禁止输出任何结果,已退出状态表示搜索是否成功
-b   打印匹配行距文件头部的偏移量,以字节为单位
-o   与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位
-F   匹配固定字符串的内容
-E   支持扩展的正则表达式

grep命令可以在  ‘关键字’  中使用  ’^##'  表示以##开头,‘##$'   表示以##结尾,‘ . ’表示单个字符

' ^$ ' 叠加选项 v 使用可以反向输出所有非空格内容

[root@ljp /]# grep '^a' test                         #查找以a开头
abcdefg

[root@ljp /]# grep 'n$' test 
i 'going to destory the Unit states and the Japan    #查找以n结尾
hijklmn

[root@ljp /]# grep -i '.oing' test 
i 'going to destory the Unit states and the Japan    #查找单个字符开头oing结尾

[root@ljp /]# grep -v '^$' test                      #反向输出所有非空格内容(过滤空行)
I 'm a chinese boy
i 'going to destory the Unit states and the Japan
1,2,3,1,2,3,1,2,3
/.
*?
++
ak+
abcdefg
hijklmn
opqrstu
vwxvz

需要注意的是,grep命令过滤的关键词中无法使用find命令中的通配符  “ * ”  “ ? " 来表示若干个字符和一个字符,其只能作为被过滤的关键词,即:

[root@ljp /]# grep '?' /test            #这里grep中find的通配符只能表示查找字符‘?’
*?

 二、fgrep命令

fgrep(Fixed-string Global Regular Expressions Print)意为固定字符串全局正则表达式打印fgrep(与grep -F相同)是固定的或快速的grep,其行为与grep相同,但不会将任何正则表达式元字符识别为特殊的。搜索将更快完成,因为它只处理简单的字符串而不是复杂的模式。

所以grep的的问题在这里得到了解决,使用fgrep命令可以查找单个字符串,例如上一部分的查找      '.'  ,grep命令将  '.'  表示为单个字符,如果我们要查找这样的单个字符串,可以使用fgrep

例: 

[root@ljp /]# grep -i '.oing' test 
i 'going to destory the Unit states and the Japan

三、pgrep命令

pgrep(Process-ID Global Regular Expressions Print)意为查看当前正在运行的进程,并将与选择条件匹配的进程ID列出

当你想要某个进程的PID时,可以使用pgrep。例如,如果我只想知道我的bash进程的进程ID,使用pgrep bash将返回进程ID 值

[root@ljp /]# pgrep bash
7631
8202
8264

 pgrep的相关选项与功能

-l 可同时输出对应的进程名以及id
-U 查询特定用户的进程
-t 查询在特定终端运行的进程
-o  进程起始的ID;
-n  进程终止的ID;

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值