1.正则表达式:就是一套处理大量字符串而定义的规则和方法。2.正则表达式的应用很广泛,PERL ,PHP,JAVA等。3.linux运维中的正则表达式常用的:grep ,sed ,awk (linux三剑客).4.正则表达式和linux通配符是有本质区别的。注意事项:a,linux正则表达式一般以行为单位处理的。 b,vim /etc/profile alias grep='grep --color=auto' (生效)source /etc/profile5.linux 正则表达式基础正则表达式:BRE 1)^word 表示搜索以word开头的内容 grep "^I" test.txt 2)word$表示以word结尾的内容 grep ".$" test.txt3)grep "^$" test.txt 4)grep -v "^$" test.txt 排除空行5). 代表任意一个字符,(当前目录,加载文件)6)\ 转义字符 \. 还原小数点 grep "\.$" test.txt 7)* 重复0个或多个前面的一个字符 grep "o*" test.txt8).* 匹配所以字符. ^.* 任意多个字符开头。9)[abc] 匹配字符集合内任意一个字符[a-z]10)[^abc] ^表示非 ,不包含a或b或c grep "[^0-9]" test.txt11).{} 重复前一个字符(注意加\ 转义) .{n} 至少n次 .{m} 至多m次 .{n,m} 重复n到m次 grep "1\{1\}" test.txt grep "1\{1,2\}" test.txtgrep命令:-v 排除匹配的内容-E 支持扩展的正则表达式-i 忽略大小写-o 只输出匹配的内容--color=auto 匹配的内容显示颜色-n 在行首显示行号cat -n test.txt 显示行号wc -l 统计行数POSIX字符:为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]是[A-Za-z0-9]的另一个写法。要把它们放到[]号内才能成为正则表达式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符类。[:alnum:] #文字数字字符 [:alpha:] #文字字符 [:digit:] #数字字符 [:graph:] #非空字符(非空格、控制字符) [:lower:] #小写字符 [:cntrl:] #控制字符 [:print:] #非空字符(包括空格) [:punct:] #标点符号 [:space:] #所有空白字符(新行,空格,制表符) [:upper:] #大写字符 [:xdigit:] #十六进制数字(0-9,a-f,A-F)
1.显示/etc/passwd文件中以bash结尾的行
2.显示/etc/passwd文件中的两位数或三位数
3.显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行
4.添加用户bash、testbash、basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行
5.显示当前系统上root、centos或者user1用户的默认shell和UID (请事先创建这些用户,若不存在)
6.找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行
7.使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名
8.找出ifconfig命令执行结果中1-255之间的数字