1 、删除/etc/grub2.conf 文件中所有以空白开头的行行首的空白字符。
答:sed ‘@^[[:space]]\+@@’ /etc/grub2/cfg
2 、删除/etc/fstab 文件中所有以# 开头,后面至少跟一个空白字符的行的行首的# 和空白字符.
答:sed -n 's/^#[[:space:]]\+//p' /etc/fstab
3 、在/root/install.log 每一行行首增加#号
答:sed -n 's/^/&#/p' /root/install.log
4 、在/etc/fstab 文件中不以# 开头的行的行首增加#号
答:sed -n 's@^[^#]@#&@p' /etc/fstab
5 、处理/etc/fst/sd/路径, 使用sed 命令取出其目录名和基名。
答:取目录echo "/etc/fst/sd/"|sed -r 's#[^/]+/?$##'
取基名 echo "/etc/fst/sd/" | sed <a href="mailto:'s@.*/'s@.*\<@@' 锚定基名的左侧
echo "/etc/fst/sd" | sed -r 's@(.*)/([^/]+/?)@\2@'
echo "/etc/fst/sd" | sed -r 's@(.*/)([^/]+/?)$@\1@'
6 、利用sed 取出ifconfig 命令中本机的IPv4 地址
答:ifconfig |sed -n '2p'|sed -nr 's@.*addr:\b@@p'|sed -nr 's@\b[[:space:]].*@@p'
7 、统计centos 7安装光盘中Package 目录下的所有rpm 文件的以. 分隔倒数第二个字段的重复次数。
答:ls /run/media/root/CentOS\ 7\ x86_64/Packages/|sed -r 's@\b\.rpm$@@' |sed -r 's@.*\.\b@@'|sort|uniq -c
利用分组ls /run/media/root/CentOS\ 7\ x86_64/Packages/ |sed -r 's@.*\.(.*)\.rpm@\1@'|sort |uniq -c
8、复制/etc/profile 至/tmp/ 目录,用查找替换命令删除
/tmp/profile 文件中的行首的空白字符
答:sed -r 's@^[[:space:]]+@@' /tmp/profile
9、复制/etc/rc.d/init.d/functions 文件至/tmp 目录,用查
找替换命令为/tmp/functions 的每行开头为空白字符的行的
行首添加一个#号。
答:sed -r 's@^[[:space:]]+@#&@' /tmp/functions
使用扩展正则表达式时注意+前不要再出现\
10、如何设置tab 缩进为4 个字符?
11、复制/etc/rc.d/init.d/functions 文件至/tmp 目录;替换
/tmp/functions 文件中的/etc/sysconfig/init 为/var/log;
答:复制完成后如下图
进行替换操作
:%s@/etc/sysconfig/init@/var/log@g 使用@或者#时,其中的/则不需要转义了。
13 、删除/tmp/functions 文件中所有以# 开头,且# 后面至少
有一个空白字符的行的行首的# 号。
sed -r 's@^#([[:space:]]+)@ \1@' /tmp/functions
原创文章,作者:178babyhanggege,如若转载,请注明出处:http://www.178linux.com/33053