练习:
1、 删除/etc/grub2.conf文件中所有以空白开头的行行首的空白字符
# sed 's@^[[:space:]]\+@@' /etc/grub2.cfg
2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
#sed -n 's@^#[[:space:]]\+@@p' /etc/fstab
3、 在/root/install.log每一行行首增加#号
## sed 's@^@#&@' /root/install.log
# sed -n 's@^@#@p' /etc/passwd
4、 在/etc/fstab文件中不以#开头的行的行首增加#号
# sed -r 's@^([^#]|^$)@#@g' /etc/fstab
# sed -n 's@^[^#]\+@#&@p' /etc/fstab
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名
目录名:
# echo "/etc/fstab" | sed 's@/[^/]\+/\?$@@'
# echo "/etc/fstab/" | sed -r 's@[^/]+/?$@@'
# echo "/etc/fstab/" | sed -r 's@(.*/)([^/]+/?)@\1@'
# echo "/etc/fstab/" | sed -r 's@(.*/)([^/]+/?)@\2@'
基名:
# echo "/etc/fstab" | sed -r 's@.*\<@@'
6、利用sed 取出ifconfig命令中本机的IPv4地址
# ifconfig | sed -n '2p' | sed -r 's@\<netmask\>.*$@@' | sed 's@[[:lower:]]\+@@'
# ifconfig | sed -n 2p | sed 's@^.*inet'@@ | sed 's@ net.*$@@'
7、统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数
# ls /mnt/Packages/*.rpm | sed 's@\.rpm@@' | sed 's@.*\.@@' | sort|uniq -c
# ls /mnt/Packages/ *.rpm | sed 's@\.rpm@@' | sed 's@.*\<@@' | sort |uniq –c
# ls /mnt/Packages/*.rpm | sed -r 's@.*\.(.*)\.rpm@\1@' | sort |uniq –c
# ls /mnt/Packages/*.rpm | rev | cut -d. -f2 | sort | uniq –c
原创文章,作者:Aaron_wang,如若转载,请注明出处:http://www.178linux.com/32045