1、删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符
sed -r 's/^[[:blank:]]+//' /etc/grub2.cfg
-r表示支持扩展正则表达式,sed命令匹配空白开头一次或者多次,替换为没有,相当于删除。
sed -r 's/^#[[:blank:]]+//'g /etc/fstab
^是首行锚定,以#开头后面跟空白字符一次或者多次替换为空白,g代表匹配直到最后一行
3、在centos6系统/root/install.log每一行行首增加#号
sed -r 's/Installing/i\#&/' /root/install.log
匹配“Installing”词,i是追加,&代表第一个//中匹配到的词,追加到#号后面,等于是每一行都追加#。
(^#*)代表以#号开头后面是任意的文件名,/^(^#*)/代表变量里面的内容取反。g是替换到最后一行。
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名
取目录名:echo "/etc/rc.d/testdir/test" | sed -r 's/^(\/.*\/)[^/]+\/?/\1/g'
或:|sed -r 's@(^/.*/).*@\1@'
sed -r 's@[^\/]+$@@'
取基名:echo "/etc/fstab/tesdir/test" |sed -r 's@^/.*/@@'
这次就没让大家进入目录,此题考的是大家前几节课讲通配符"ls" 时候大家有没有注意听。提到过这个部分。
ifconfig ens33 | sed -n '2p' | sed -r 's@^[[:space:]].*inet[[:space:]]@@' | sed -r 's@[[:space:]].*@@'
ls /media/Packages/ | grep "rpm$" | sed -r 's@.*\.(.*)\.rpm@\1@' | sort | uniq -c
sed -nr 's/[[:alpha:]]+/\n/g'p /etc/init.d/functions | sort | uniq -c | sort -nr