日常——sed练习

0H5162261-0

1、删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符
# sed -i.bak ‘s/^[[:space:]]*//’ /data/grub2.cfg
2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
# sed -i.bak ‘s@^#[[:space:]]\+@@’ /data/fstab
3、在centos6系统/root/install.log每一行行首增加#号
# sed -i.bak ‘s,^,#,’ install.log
4、在/etc/fstab文件中不以#开头的行的行首增加#号
# sed -i.bak ‘/^#/!s/^/#/’ /data/fstab
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名
# echo “/etc/fstab/” |sed -r ‘s@(.*/)([^/]+/?)@\2@’
6、利用sed 取出ifconfig命令中本机的IPv4地址
# ifconfig eth0 |sed -n ‘2p’ |sed -r ‘s,.*addr:(.*) Bcast.*,\1,’
7、统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数
# ls -1 |sed -r ‘s#.*\.(.*)\.rpm$#\1#’ |sort |uniq -c |sort -nr
8、统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)
1.# grep -ow “[[:alpha:]]*” /etc/init.d/functions |sort |uniq -c |sort -n
2.# sed ‘s/[[:punct:]]/\ /g’ /etc/init.d/functions |sed ‘s/[[:space:]]/\n/g’ |sed ‘/^[^[:alpha:]]/d’ |sort |uniq -c |sort -n
9、将文本文件的n和n+1行合并为一行,n为奇数行
1.# sed ‘N;s,\n,,g’ /data/f1

2.[root@centos6 ~]# sed -n ‘1~2p’ /data/make.sh > f1
[root@centos6 ~]# sed -n ‘2~2p’ /data/make.sh > f2
[root@centos6 ~]# paste f1 f2

 

各位大佬,帮忙批改^_^

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95811

(3)
lidongfeilidongfei
上一篇 2018-04-13 09:38
下一篇 2018-04-13 14:34

相关推荐