文本处理工具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.178linux.com/32243