Linux练习题-文本处理工具sed

一、删除centos7系统/etc/grub2.cfg文件中全部以空白开头的行行首的空白字符正则表达式

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

image.png


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

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

image.png


三、在centos6系统/root/install.log每一行行首增长#号spa

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

image.png

image.png



四、在/etc/fstab文件中不以#开头的行的行首增长#号blog

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

image.png


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

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

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

image.png


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

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

image.png


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

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

image.png


八、统计/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


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

sed 'N;s/\n//'

image.png

相关文章
相关标签/搜索