正则介绍_grep
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则介绍_grep相关的知识,希望对你有一定的参考价值。
9.1 正则介绍_grep(上)什么是正则
正则是一串有规律的字符串
掌握好正则对于编写shell脚本有很大的帮助
各种编程语言中都有正则,原理是一样的
本章将要学习grep/egrep、sed、awk
grep
grep[-cinvABC] ‘word‘ filename
-c 行数
-i 不区分大小写
-n 显示行号
-v 取反
-r遍历所有子目录
-A 后面跟数字,过滤出符合要求的行以及下面n行
-B同上,过滤出符合要求的行以及上面n行
-c同上,同时过滤出符合要求的行以及上下各n行
[[email protected] ~]# ls
11.txt 123 1.txt 1.txt~ 234 2.txt 3.txt anaconda-ks.cfg.1 default
[[email protected] ~]# mkdir grep
[[email protected] ~]# cd grep
[[email protected] grep]# cp /etc/passwd .
[[email protected] grep]# ls
passwd
[[email protected] grep]# pwd
/root/grep
[[email protected] grep]# ls
passwd
[[email protected] grep]# grep ‘nologin‘ passwd
[[email protected] grep]# grep -c ‘nologin‘ passwd //加-c看有多少行//
18
[[email protected] grep]# grep -n ‘nologin‘ passwd //加-n显示行号//
[[email protected] grep]# grep -ni ‘nologin‘ passwd //加i会把大写的一列列出来//
9.2 grep(中)
grep ‘[0-9]‘ /etc/inittab
[[email protected] grep]# grep ‘[0-9]‘ passwd
grep -v‘[0-9]‘ /etc/inittab //不带数字的行//
grep -v‘^#‘/etc/inittab //^表示以什么开头的行,这里表示以#开头的行,v表示不是以什么开头的行//
grep ‘^[^a-zA-Z]‘test.txt
^如果在[]中则取非的意思,如果在[ ]外面,则是以什么什么开头的意思
9.3 grep (下)
grep ‘r.o‘test.txt //小数点表示任意一个字符//
grep ‘oo‘test.txt //表示0个或者多个号前面的字符//
grep ‘.‘test.txt //点*就是通配//
grep ‘o{2}‘/etc/passwd //表示一个范围//
egrep ‘o+‘/etc/passwd //表示一个或多个加号前面的字符//
egrep ‘oo?‘/etc/passwd //表示0个或一个问号前面的字符//
egrep ‘root|nologin‘ /etc/passwd //竖线表示或者//
以上是关于正则介绍_grep的主要内容,如果未能解决你的问题,请参考以下文章
9.1 正则介绍_grep(上);9.2 grep(中);9.3 grep(下)
六周第一次课 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下