Linux: grep 命令,用来匹配文本
1: grep 匹配包含 ‘字符串’的行
1
2
|
# 匹配文件中包含 scenario 的那一行:
cat manpath.config | grep 'scenario'
|
2: grep 匹配不包含 ‘字符串’的行,反向匹配
1
2
|
# 匹配文件中不包含 scenario 的那一行:
cat manpath.config| grep -v 'scenario'
|
3:grep -E 同时匹配多个关键字–“或"关系
1
2
3
|
grep -E "word1|word2|word3" file.txt # 匹配 file.txt 中包含 word1 或 word2 或 word3 的行
egrep '123|abc' filename # 用egrep同样可以实现
awk '/123|abc/' filename # awk 的实现方式
|
4: 同时匹配多个关键字–“与"关系
1
|
grep word1 file.txt | grep word2 |grep word3 # 必须同时满足三个条件(word1、word2和word3)才匹配。
|
5: grep 其他操作
1
2
3
4
5
|
grep -i pattern files # 不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files # 只列出匹配的文件名,
grep -L pattern files # 列出不匹配的文件名,
grep -w pattern files # 只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files # 匹配的上下文分别显示[number]行,
|
文章作者
lucas
上次更新
2022-03-04
(b3cbdf7)