linux 匹配、 排序及显示指定内容的命令

  1. grep命令

grep命合组在文本文件中查找指定模式的词或短语,并在标准输出设备上显示包括给定字符串模式的所有行,包含3个命令:grep, egrep 和fgrep命令。grep命令一次只能搜索一个指定的模式: egrep 命令等同于grep -E,可以使用扩展的字符串模式进行搜索: fgrep命令等同于grep-F, 是快速搜索命令,检索固定字符串,但不识别正则表达式。(1)一般格式

grep [选项] 查找模式[文件名1,文件名2, …

grep[选项] [-e 查找模式| -f文件] [文件名1,文件名2,…

(2)说明

grep命令组在指定文件中搜索特定模式及定位特定主题等方面用途很大。要搜索的模式被看成关键词,查看指定的文件中是否包含这些关键词。这3个命令的功能类似,但由于可以搜索的模式不同,因此在功能强弱上有些差别。

如果没有指定文件,它们就从标准输入中读取。在正常情况下,每个匹配行被显示到标准输出上。若要搜索的文件不止一个,则在每行输出之前加上文件名。

(3)常用选项

-E:将查找模式解释成扩展的正则表达式。

-F:将查找模式解释成单纯的字符串。

-b,–byte-offset:在输出的每一行前面显示包含匹配字符串的行在文件中的位置,用字节偏移量

-c,–count: 只显示文件中包含匹配字符串的行的总数。

-fFILE: 从文件FILE中获取模式,每行一个。空文件不含模式,因此不做匹配。
-i, --ignore-case:匹配比较时不区分字母的大小写。

-R,-r,–recursive: 以递归方式查询目录下的所有子目录中的文件。

-n:在输出包含匹配模式的行之前,加上该行的行号(文件首行的行号为1)。
-v: 只显示不包含匹配字符串的文本行。

-x: 只显示整个行都严格匹配的行。

(4)注意

①在命令名后先输入搜索的模式,然后是要搜索的文件。

②2在文件名列表中可以使用通配符,如“*”等。

③要查找目录的子目录中的文件,应使用一选项。

④若在搜索校式的字符串中包含空格。则应用单引号把模式字符串括起米。⑤利用选项-f可以大批地在文件中搜索字符串。

(5)示例

①在密码文件/etc/passwd中查找包含mengqc的所有行:
$ grep-Fmengqc /etc/passwd

mengqc❌ 500💯 mengqc : /home/mengqc: /bin/bash

②在mengqc目录和子目录下的所有文件中查找字符串print出现的次数:$ grep -r ‘print’ mengqc

③在文件f1和f2中查找包含main或者printf的所有行,不管首字母的大小写:
$ grep -E’[Mm]ain| [Pp]rintf’ f1 f2

或者

$ grep -i’main|printf’ f1 f2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值