07: linux中正则表达式与grep使用
1.1 linux中正则表达式
1、^linux 以linux开头的行
2、$php 以php结尾的行
3、. 匹配任意单字符
4、.+ 匹配任意多个字符
5、 .* 匹配0个或多个字符(可有可无)
6、 [0-9a-z] 匹配中括号内任意一个字符
7、 (linux)+ 出现多次Linux单词
8、 (web){2} web出现两次以上
9、\ 屏蔽转义
1.2 grep使用
1、grep基本使用
1、统计a.txt文件中有多少行包含"file"字符串
grep -c "file" a.txt
2、在a.txt文件中有多少行匹配字符串"file",同时显示行和行号
grep -n "file" a.txt
3、在a.txt文件中匹配字符串"file"不区分大小写
grep -i "file" a.txt
4、在文件中过滤掉file所在行(-v 取反)
grep -v "file" a.txt
2、grep与正则结合
1、在file文件中找到以 linux 开头的行
grep -E '^linux' file
2、在文件中查找以 linux 结尾的行
grep -E 'linux$' file
3、在file文件中有 linux 的行
grep -e '.*linux.*' file
4、找出file文件中包含数字的行
[root@localhost aaa]# grep -En '[0-9]+' file
4:jfsdjdddd3333232dfsj linux # 前面作色数字4表示第四行
5、找出包含地址格式的行
grep -En '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]\.[0-9]' file
6、查找时间在 2016-11-11 10:22:50 到 2016-11-11 10:22:59
[root@localhost aaa]# grep -e "2016-11-11 10:22:5[0-9]" file
查找时间在 2016-11-11 10:22:00 到 2016-11-11 10:22:59
7、杀死所有的text.py进程
ps -ef | grep -E "(manage.py)(.*):8000" | grep -v grep| awk '{print $2}' | xargs kill -9
ps -ef | grep -E "test.py" | grep -v grep| awk '{print $2}' | xargs kill -9
作者:学无止境
出处:https://www.cnblogs.com/xiaonq
生活不只是眼前的苟且,还有诗和远方。