1、显示/etc/rc.d/rc.sysinit文件中以不区分大小的h开头的行;
[root@192 rc.d]# grep -E "^(h|H)" /etc/rc.d/rc.sysinit
执行效果:
2、显示/etc/passwd中以sh结尾的行;
[root@192 etc]# cat /etc/passwd | grep 'sh$'
效果如图:
3、显示/etc/fstab中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行
[root@192 /]# grep -E "^#[ \{1,\}][^[:space:]]" /etc/fstab
效果如图:
4、查找/etc/rc.d/rc.local中包含“以to开始并以to结尾”的字串行;
[root@server rc.d]# grep -E "(to).*\1" /etc/rc.d/rc.local
效果如图:
5、查找/etc/inittab中含有“以s开头,并以d结尾的单词”模式的行;
[root@server etc]# grep -w '\<s[a-Z]*d\>' /etc/inittab
效果如图:
6、查找ifconfig命令结果中的1-255之间的整数;
[root@server etc]# ifconfig | grep -Ew "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
效果如图:
7、显示/var/log/secure文件中包含“Failed”或“FAILED”的行;
[root@server log]# grep -E "(Failed|FAILED)" /var/log/secure
执行效果:
8、在/etc/passwd中取出默认shell为bash的行;
[root@server log]# cat /etc/passwd | grep -w bash$
效果如图:
9、以长格式列出/etc/目录下以ns开头、.conf结尾的文件信息;
[root@server log]# ls /etc/ | grep -E "(^ns.*.conf$)"
效果如图:
10、高亮显示passwd文件中冒号,及其两侧的字符;
[root@server /]# cat /etc/passwd | grep -E "(.?:*:.?)" --color
效果如图:
sed命令执行:
11、删除/etc/grub2.conf文件中所有以空白开头的行行首的空白字符
[root@192 etc]# sed 's/^[[:space:]]//' grub2.conf
执行效果:
12、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
[root@192 etc]# sed 's/^#[[:space:]]*//' fstab
执行效果:
13、在/root/install.log每一行行首增加#号
[root@server ~]# sed 's/^.*$/#&/' /root/install.log
执行效果:
14、在/etc/fstab文件中不以#开头的行的行首增加#号
[root@server etc]# sed 's/^[^#]/#&/' fstab
执行效果:
15、利用sed 取出ifconfig命令中本机的IPv4地址
[root@server etc]# ifconfig | sed -n '2p' | sed -r "s/.*inet[[:space:]]*//" | sed -r "s/[[:space:]]*netmask.*//"
执行效果:
16、关闭本机SELinux的功能
[root@server selinux]# sed -i 's/SELINUX=enfocing/SELINUX=disabled/' config
17、在/etc/hosts配置文件中添加内容
[root@server etc]# sed '1 a pop' /etc/hosts
[root@server etc]# sed '1 i qoq' /etc/hosts
执行效果: