egrep小练习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了egrep小练习相关的知识,希望对你有一定的参考价值。
1、显示/proc/meminfo文件中以大写s开头的行,要求使用两种方式
2、显示/etc/passwd文件中不以/bin/bash结尾的行
3、显示/etc/passwd文件中ID号最大的用户的用户名
4、如果root用户存在,显示其默认的shell程序
5、显示/etc/passwd文件中两位或三位数
6、显示/etc/rc.d/rc.sysinit文件中,至少以一个空白字符开头的且后面存在非空白字符的行
7、找出‘netstat -tab‘命令的结果中以‘LISTEN‘后跟0、1或多个空白字符结尾的行
8、添加用户bash,testbash,basher以及nologin,要求nologin的shell为/sbin/nologin,而后找出/etc/passwd文件中用户名同shell名的行
9、 显示当前系统root,centos或user1用户的默认shell和uid
10、 找出/etc/rc.d/init.d/functions文件中(CentOS 6),某个单词后面跟一个小括号的行
11、 echo 输出一个路径,使用egrep取出其基名,
12、 找出ifcofnig命令结果中1-255中间的任意数值
13、 找出ifconfig命令结果中的ip地址。
1、显示/proc/meminfo文件中以大写s开头的行,要求使用两种方式
# egrep ‘^(s|S)‘ /proc/meminfo # egrep -i ‘^s‘ /proc/meminfo
2、显示/etc/passwd文件中不以/bin/bash结尾的行
# egrep -v ‘/bin/bash$‘ /etc/passwd
3、显示/etc/passwd文件中ID号最大的用户的用户名
4、如果root用户存在,显示其默认的shell程序
# id root > /dev/null 2>&1 && egrep ‘^root\b‘ /etc/passwd | cut -d‘:‘ -f1,7 --output-delimiter=‘^_^‘ root^_^/bin/bash
5、显示/etc/passwd文件中两位或三位数
# egrep -o ‘\<[[:digit:]]{2,3}\>‘ /etc/passwd
6、显示/etc/rc.d/rc.sysinit文件中,至少以一个空白字符开头的且后面存在非空白字符的行
# egrep ‘^[[:space:]]+[^[:space:]]‘ rc.sysinit
7、找出‘netstat -tab‘命令的结果中以‘LISTEN‘后跟0、1或多个空白字符结尾的行
# netstat -tan | egrep ‘LISTEN[[:space:]]*‘
8、添加用户bash,testbash,basher以及nologin,要求nologin的shell为/sbin/nologin,而后找出/etc/passwd文件中用户名同shell名的行
# egrep ‘(^[[:alnum:]]+\>).*\1$‘ /etc/passwd sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt nologin:x:2018:2018::/home/nologin:/sbin/nologin
9、 显示当前系统root,centos或user1用户的默认shell和uid
# egrep ‘^(centos|root|user1)\>‘ /etc/passwd | cut -d‘:‘ -f1,7 --output-delimiter=‘ ‘ root /bin/bash centos /bin/bash user1 /bin/sh
10、 找出/etc/rc.d/init.d/functions文件中(CentOS 6),某个单词后面跟一个小括号的行
1)cat文件:有 字母 或 _ 符 和 () ,字符或用 [ ]
# grep -E -o ‘[[:alpha:]_]+\(\)‘ /etc/rc.d/init.d/functions
# grep -o ‘[[:alpha:]_]\+()‘ /etc/rc.d/init.d/functions
11、 echo 输出一个路径,使用egrep取出其基名,
文件名的特性:<255, 非/ , . 开头为隐藏文件,区分大小写。
[^/] :文件名,一定不能用/表示
1)取基名
# echo ‘/mnt/sdc‘ | egrep -o ‘[^/]+/?$‘
2)取目录名
# echo ‘/mnt/sdc‘ | egrep -o ‘/[^/]+/‘
12、 找出ifcofnig命令结果中1-255中间的任意数值
# ifconfig | egrep ‘\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>‘
13、 找出ifconfig命令结果中的ip地址。
# ifconfig | egrep ‘\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>‘
]# ifconfig | egrep ‘(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>‘
本文出自 “Reading” 博客,谢绝转载!
以上是关于egrep小练习的主要内容,如果未能解决你的问题,请参考以下文章
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段