文本處理工具sed課程作業
1、刪除/etc/grub2.conf文件中所有以空白開頭的行行首的空白字符
sed -n 's@^[[:space:]]\+@@p' /etc/grub2.cfg
2、刪除/etc/fstab文件中所有以#開頭,后面至少跟一個空白字符的行的行首的#和空白字符
sed -nr 's@^#[[:space:]]+@@p' /etc/fstab
3、在/root/install.log每一行行首增加#號
sed -r 's@.*@#&@' /root/install.log
4、在/etc/fstab文件中不以#開頭的行的行首增加#號
sed -n 's@^[^#]@#&@p' /etc/fstab
5、處理/etc/fstab路徑,使用sed命令取出其目錄名和基名
目錄名:echo "/etc/fstab" |sed -r 's@^(.*/)([^/]+/?)$@\1@'
基名:echo "/etc/fstab" |sed -r 's@^(.*/)([^/]+/?)$@\2@'
6、利用sed 取出ifconfig命令中本機的IPv4地址
ifconfig|sed -n '/Bcast/p'|sed -r 's@inet addr:(.*) Bcast:.*$@\1@'
7、統計centos安裝光盤中Package目錄下的所有rpm文件的以.分隔倒數第二個字段的重復次數
ls /mnt/Packages/*.rpm|sed -r 's@^.*\.(.*)\.rpm$@\1@'|sort|uniq -c
ls /mnt/Packages/*.rpm|awk -F "." '{NUM[$(NF-1)]++}END{for(i in NUM){print i,NUM[i]}}'
文本編輯器vim課程作業
8、如何設置tab縮進為4個字符?
set tabstop=4
以上設置僅對當前vim設置有效,如果要對單個用戶永久生效,則可以將該規則寫入該用戶家目錄下的.vimrc文件中,該文件默認不存在,可以手動創建,如果要對所有用戶生效,則可以對/etc/vimrc文件中
9、復制/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符
sed方式:sed -n 's@^[[:space:]]\+@@p' /testdir/profile
vim方式:(擴展命令行模式下執行) %s@^[[:space:]]\+@@
10、復制/etc/rc.d/init.d/functions文件至/tmp目錄,用查找替換命令為/tmp/functions的每行開頭為空白字符的行的行首添加一個#號
sed方式:sed -n 's@^[[:space:]]\+@#&@p' /testdir/functions
vim方式:(擴展命令行模式下執行) %s@^[[:space:]]\+@#&@
11、復制/etc/rc.d/init.d/functions文件至/tmp目錄;替換/tmp/functions文件中的/etc/sysconfig/init為/var/log;
sed方式:sed -nr 's@/etc/sysconfig/init@/var/log@gp' /testdir/functions
vim方式:(擴展命令行模式下執行) %s@/etc/sysconfig/init@/var/log@g
12、刪除/tmp/functions文件中所有以#開頭,且#后面至少有一個空白字符的行的行首的#號;
sed方式:sed -nr 's@^#([[:space:]]+.*)$@\1@p' /testdir/functions
vim方式:(擴展命令行模式下執行) %s@^#\([[:space:]]\+.*\)$@\1@
原創文章,作者:M20-1倪文超,如若轉載,請注明出處:http://www.www58058.com/32243