作者:zhangpingzizai | 来源:互联网 | 2023-09-24 18:28
grep基本用法作用grep是一种文本搜索工具,在Linux中常用的文本搜索工具还有sed和awk.我们常用grep在内容繁多的文本中匹配到我们所需要的字符,并显示字符(串)所在的
grep基本用法
作用
grep是一种文本搜索工具,在Linux中常用的文本搜索工具还有sed和awk.
我们常用grep在内容繁多的文本中匹配到我们所需要的字符,并显示字符(串)所在的行.
格式
grep [参数] [文件]
常用参数
grep --color 显示匹配到字符(串)的颜色
grep -i 忽略字符大小写
grep -o 仅显示匹配的字符(串)
grep -v 反选(匹配到的行反而不显示)
grep -E 使用扩展正则表达式(在语句没错,而且使用普通正则查询不出来时使用扩展正则,会有惊喜)
grep -n 显示行号
grep -w 以字符形式查询
正则表达式
作用
正则表达式是为了方便我们处理大量文本信息而制定的一种规则(方法).
正则表达式可以用来检索文本中符合规则的信息.
它不仅在Linux中使用,在C语言和其他编程语言中也是通用的,所以说,正则表达式是非常重要的一个点.
常用参数
参数 |
示例 |
意义 |
代码 |
结果 |
---|
^ |
^S |
匹配以S开头的行 |
grep ‘^S’ /proc/memino |
|
$ |
:/bin/bash$ |
显示以/bin/bash结尾的行 |
grep ‘:/bin/bash’ /etc/passwd |
|
. |
r.t |
匹配r和t中间有任意一个字符 |
grep ‘r.t’ /etc/passwd |
|
\ |
|
转义字符具有特定的含义,不同于字符原有的意义 |
|
|
* |
go*gle |
匹配g(若干个o(0 - +∞))gle |
echo ‘gle,gogle,google,gooogle’ |grep ‘go*gle’ |
|
[n1-n2] |
[0-9]+% |
匹配含有0-9十个数字+%的字符(串) |
df | grep ‘[0-9]+%’ |
|
[^] |
[^t] |
匹配非t字符 |
grep ‘[^t]’ /etc/shadow |
|
{n1,n2} |
go{2,3}gle |
匹配google或gooogle |
echo ‘google,gooogle,gooooogle’ |grep ‘go{2,3}gle’ |
|
\< |
\
匹配以r开头的单词 |
grep ‘\
|
| |
\> |
t\> |
匹配以t结尾的单词 |
grep ‘t>’ /etc/passwd |
|
常用特殊符号
参数 |
意义 |
---|
[[:alnum:]] |
代表英文大小写字符和数字==[0-9],[A-Z],[a-z] |
[[:alpha:]] |
代表英文大小写==[A-Z],[a-z] |
[[:space:]] |
代表任何空白字符 |
[[:digit:]] |
代表数字==[1-9] |
[[:lower:]] |
代表小写字符==[a-z] |
[[:upper:]] |
代表大写字符==[A-Z] |