1、删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符

sed s#[[:space:]]*## /etc/grub2.cfg

image.png

2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符

sed -r s/^#[[:space:]*// /etc/fstab

image.png

3、在centos6系统/root/install.log每一行行首增加#号

sed s/^Installing/#Installing/ /root/install.log

image.png

image.png

4、在/etc/fstab文件中不以#开头的行的行首增加#号

sed -r "s/(^[^#])*/#\1/" /etc/fstab ,有正则表达式注意加双引号

image.png

5、处理/etc/fstab路径,使用sed命令取出其目录名和基名

基名:echo /etc/fstab | sed -r "s#^(/.*/)([^/]+/?)#\2#"

目录名:echo /etc/fstab | sed -r "s#^(/.*/)([^/]+/?)#\1#"

image.png

6、利用sed 取出ifconfig命令中本机的IPv4地址

ifconfig ens33 |sed -n '2p' | sed -r "s/.*inet[[:space:]]*//" | sed -r "s/[[:space:]]*netmask.*//"

image.png

7、统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数

ls /run/media/root/CentOS\ 7\ x86_64/Packages/ | grep -v "TBL" |sed -r "s#(.*\.([^.]+).rpm$)#\2#"

image.png

8、统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)

grep方法:cat /etc/init.d/functions |grep -io "\<[[:alpha:]]*\>" |sort -rn |uniq -c |sort -n

sed方法:sed "s/[^[:alpha:]]/\n/g" /etc/init.d/functions" | sort -rn | uniq -c |sort -n

image.png

image.png

image.png

image.png

9、将文本文件的n和n+1行合并为一行,n为奇数行

sed 'N;s/\n//'

image.png