暮夏の候、社ますますご盛のこととおび申し上げます。平素は格のご高配をり、厚く御礼申し上げます。

基本正则

1、显示/etc/passwd文件中以bash结尾的行;

Cat /etc/passwd | grep color=auto "bash$"

2、显示/etc/passwd文件中的两位数或三位数;

Cat /etc/passwd | grep  "[10-999]"  开始我写成这样,这是错的

我参考别人的意见修改成了如下这样,就好用了:

Cat /etc/passwd | grep color=auto Cat /etc/passwdx | grep "\<[1-9][0-9]\{1,2\}\>"

3、显示'netstat -tan'命令结果中以'LISTEN'后跟0个、1个或多个空白字符结尾的行;

4、添加用户bash,testbash, basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名同shell名的行;

先添加用户,此处的参数顺序要注意

我先写的是

Cat /etc/passwd | grep "^\(\<[[:alnum:]]\>*\).*\1$"

扩展正则

1、显示当前系统上root、centos或user1用户的默认的shell和UID;

选中了3个用户,然后筛选不会了筛选列了

2、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行;

Cat /etc/rc.d/init.d/functions |egrep "\<[[:alpha:]]+_?[[:alpha:]]+\>/(/)"

3、使用echo输出一个路径,而后egrep找出其路径基名;进一步地:使用egrep取出其目录名;

Echo "/home/gh/haha" | egrep 后面加上判断时候最后有个\的

4、找出ifconfig命令执行结果中1-255之间的数字;

1-255之间的数字肯定是一个独立的词,所以用词头\<尾\>固定住再筛选

我分了2种情况[0-199]和[200-255]