Linux系统grep命令简介

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来) 是一种强大的文本搜索工具, 它能使用正则表达式搜索文本,并把匹配的行打印出来
[root@www ~]# grep [-acinv] [–color=auto] ’ 搜寻字符串’ filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串’ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,即显示出没有 ‘搜寻字符串’ 内容的行
–color=auto :可以将找到的关键词部分加上颜色
-h :只显示匹配的行,不显示文件名。
-l :只显示文件名列表。
-r :显示文件所在目录即路径。
-e exp:指定该选项的表达式,可以多次使用。
-f file :指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-E :将样式为延伸的正则表达式来使用。
-w :匹配整个单词。
-r :明确要求搜索子目录。
-d skip :忽略子目录。
-o :只打印匹配行的匹配部分,每个这样的部分在单独的输出行上。
\ :忽略正则表达式中特殊字符的原有含义。
[ ]:单个字符,如[A]即A符合要求。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。
.:所有的单个字符。
*:所有字符,长度可以为0。

-A n:显示匹配的那一行以及该行之后n行。
-B n:显示匹配的那一行以及该行之前n行。
-C n:除了匹配的那一行以及该行之前和之后n行

grep举例
将/etc/passwd,有出现 root 的行取出来
[pingguo@localhost work]$ grep root /etc/passwd

root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

将/etc/passwd,有出现 root 的行取出来,同时显示这些行在/etc/passwd的行号
[pingguo@localhost work]$ grep -n root /etc/passwd

 1:root:x:0:0:root:/root:/bin/bash
 10:operator:x:11:0:operator:/root:/sbin/nologin

将/etc/passwd,将没有出现 root 的行取出来
[pingguo@localhost work]$ grep -v root /etc/passwd,
将没有出现 root 和nologin的行取出来
[pingguo@localhost work]$ grep -v root /etc/passwd | grep -v nologin
grep ‘[A-Z][A-Z] [A-Z]’ testfile #打印出所有包含前两个字符是大写字符,后面紧跟一个空 格及一个大写字母的行。
grep ‘[a-z]{9}’ testfile #打印所有包含每个字符串至少有9个连续小写字符的字符串行。
第一个字符是3,紧跟着一个句点,然后是任意一个数字,然后是任意个任意字符,然后又是一个3,然后是制表符,然后又是一个3,需要说明的是,下面正则中的\1表、(3)。
grep ‘(3).[0-9].\1 +\1’ testfile
grep ‘<north’ testfile #打印所有以north开头的单词的行。
grep ‘<north>’ testfile #打印所有包含单词north的行
grep '^n\w
’ testfile #第一个字符是n,后面是任意字母或者数字

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值