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

相關文章
相關標籤/搜索