第四周(1):课堂练习与作业

课堂练习:

1、删除/etc/grub.conf文件中所有以空白开头的行行首的空白字符

[root@centos6 ~]# sed 's@^[[:space:]]\+@@' /etc/grub.conf

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

[root@centos6 ~]# sed 's@^#[[:space:]]\+@@' /etc/fstab

3、在/root/install.log每一行行首增加#号

[root@centos6 ~]# sed 's@^@#@' /root/install.log

4、在/etc/fstab文件中不以#开头的行的行首增加#号

[root@centos6 ~]# sed 's@^[^#]@#@' /etc/fstab

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

[root@centos6 ~]# echo "/etc/fstab" | sed -r 's@(.*/)([^/]+/?)$@\1@'
/etc/
[root@centos6 ~]# echo "/etc/fstab" | sed -r 's@(.*/)([^/]+/?)$@\2@'
fstab

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

[root@centos6 ~]# ifconfig|sed -n 2p |sed -r  's/.*addr:(.*)  Bca.*/\1/'

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

[root@centos6 Packages]# ls /mnt/Packages/*.rpm |sed -r 's#.*\.(.*)\.rpm$#\1#'|sort  |uniq -c

8、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符

[root@centos6 tmp]# cp /etc/profile /tmp/
[root@centos6 tmp]# vim /tmp/profile
:%s@^[[:space:]]\+@@

9、复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号

[root@centos6 ~]# cp /etc/rc.d/init.d/functions /tmp
[root@centos6 ~]# vim /tmp/functions
:%s@^[[:space:]]\+@#@

作业:

1、如何设置tab缩进为4个字符?

[root@centos6 ~]# cat .vimrc 
set tabstop=4

2、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

[root@centos6 ~]# cp /etc/rc.d/init.d/functions /tmp
[root@centos6 ~]# vim /tmp/functions 
:%s@/etc/sysconfig/init@/var/log@g

3、删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号

[root@centos6 ~]# vim /tmp/functions
:%s@^#\([[:space:]]\+\)@\1@

原创文章,作者:Aleen,如若转载,请注明出处:http://www.178linux.com/32447