📅  最后修改于: 2023-12-03 14:41:38.960000             🧑  作者: Mango
grep
是一个在Unix和类Unix操作系统中常用的文本搜索工具,它可以通过正则表达式来搜索文本。正则表达式是由字符和运算符组合而成的模式,用来描述文本中的模式。在grep
中,正则表达式用来描述需要匹配的模式。
在grep
中,使用正则表达式的格式为:
grep [options] [正则表达式] [文件名]
其中,[正则表达式]
部分可以使用不同的模式来描述需要匹配的文本。
字符 | 描述
---- | ----
.
| 匹配任意字符
*
| 匹配前面的字符0次或多次
+
| 匹配前面的字符1次或多次
?
| 匹配前面的字符0次或1次
[]
| 匹配括号中的任意一个字符
[a-z]
| 匹配a到z之间的任意一个字符
[0-9]
| 匹配0到9之间的任意一个字符
[^abc]
| 排除abc中的任意一个字符
字符 | 描述
---- | ----
^
| 匹配行首
$
| 匹配行尾
字符 | 描述
---- | ----
()
| 将字符分组
\1
| 引用第一个分组
\2
| 引用第二个分组
\3
| 引用第三个分组
字符 | 描述
---- | ----
\
| 转义字符
\t
| 制表符
\n
| 换行符
grep -E '\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b' [文件名]
grep -E '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' [文件名]
grep -E '\bhttps?://[^\s]+\b' [文件名]