Linux 系统!grep 命令轻松玩转文本搜索!

在 Linux 系统中,grep 用于查找文件中符合条件的字符串,语法格式:grep [选项] "关键字" 文件名

关键字加引号(单引号、双引号),不加引号有一些区别

在查找时,关键字加引号,关键字会被看成一个整体,可以包含空格或特殊字符等。

a        单引号
如果关键字包含特殊字符($ 和 \' 除外),使用单引号会对特殊字符转义,进行完全匹配搜索。
b        双引号
关键字即使包含特殊符号,使用双引号会原样输出。
c        不加引号
搜索包含关键字中任意单词的文本行。

一、打印包含关键字的行

它的语法格式:grep "关键字" 文件名

grep "saferycom" sys.log

二、打印以某关键字开头的行

它的语法格式:grep "^关键字" 文件名

在关键字前面加 ^ 号,表示搜索以关键字开头的行。

grep "^saferycom" sys.log

三、打印某关键字结尾的行

它的语法格式:grep "关键字$" 文件名

我们在关键字后面加上 $ 符号,表示查找以关键字结尾的行。我们查找以 saferycom 结尾的行,并显示出来。

grep "saferycom$" sys.log

四、不区分大小写打印关键词的行

它的语法格式:grep -i "关键字" 文件名

我们打印包含 root 的行,此时关键字可以是 rOOt, Root ,ROOT 等这些关键词。

grep -i  "root"  sys.log

五、打印关键字并显示行号

它的语法格式:grep -n "关键字" 文件名

在文件 sys.log 中,我们在查找关键字的同时,并且在每行前面显示行号。

grep -n  "root"  sys.log

六、递归搜索关键字

它的语法格式:grep -r 关键字 目录名

我们搜索所有的文件及子目录,递归查找包含所有关键字的行,控制台会打印出包含关键词的文件和对应的行。

grep -r  "root"  /cimc/logs

七、统计匹配某关键字的次数

它的语法格式grep -c "关键字" 文件名

我们统计一下包含 root 的行数,控制台只会显示行数,不会将每一行都打印出来。

grep -c  "root"  sys.log

八、过滤空白行

它的语法格式:grep -v "^$" 文件名

在这里,我们先输出文件的所有内容,然后键入过滤空白行的命令,对比一下,看看它们有什么不一样的地方。

grep -v  "^$"  sys.log

九、查找包含多个关键字的行

它的语法格式:grep -E "关键字1|关键字2" 文件名

我们查找文件 sys.log 中包含 root 或者 sync 的行,并且将它们打印到控制台。

grep -E  "root|sync" sys.log

上面使用了 Linux 正则表达式。大家可以参照着,多加练习,灵活使用 grep 命令,提高工作效率。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值