Sed及Vim作业

  Sed及Vim作业题:

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

   [root@localhost 7 ~]# sed -r  's/^[[:space:]]+//' /etc/grub2.cfg

    blob.png

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

   [root@localhost test]# sed 's/^#[[:space:]]\+//' /etc/fstab   //此符合题目要求
   [root@localhost test]# sed -r 's/^(#|#[[:space:]]+)//' /etc/fstab //此命令只要有“#”就删除

   blob.png

blob.png

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

   [root@localhost test]# sed 's/^/#/' /root/install.log

    blob.png

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

   [root@localhost test]# sed 's/^[^#]/#&/' fstab

    blob.png

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

[root@localhost test]# echo "/etc/sysconfig/network-scripts/" | sed -r 's@(.*/)([^/]+/?)$@\1@'
        //此处后向引用中"\1"为目录"\2"为基名,需手动更改

    blob.png

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

[root@localhost test]# ifconfig | sed '2!d' | sed  -r 's@.*inet.addr:(.*)B.*@\1@'  
       //仅用于centos 6

blob.png

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

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

blob.png

    8、复制etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysc onfi g/in it为/var/log;

[root@CentOS 7 ~]# cp /etc/rc.d/init.d/functions /tmp
[root@CentOS 7 ~]# vim /tmp/functions

      0{8S286)CT]@TW%UV`BBE5U.png

       解析:

        在命令行中输入下方图片最后一行命令,转换原有的/etc/sysconfig/init为/var/log

        符号“%”:表示地址范围为全文

         s@@@:表示查找内容替换(其中符号"@“可以使用任意字符,但三个必须一致)

         g :修饰符,表示全局替换

       

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

[root@CentOS 7 ~]# vim /tmp/fstab

         blob.png

    解析:

          在命令行中输入下方图片最后一行命令,把原有的符号“#”开头紧跟至少一个空格的行的行首的#号删除掉。(注意:只删除“#”,不删除空格)

    符号“%”:表示地址范围为全文

     s@@@:表示查找内容替换(其中符号"@“可以使用任意字符,但三个必须一致)

     g :修饰符,表示全局替换

     末行模式内输入命令: (  :%s@^\(#\)[[:space:]]\+@ @g )

        其中:第一个符号“@”和第二个符号“@”之间的内容为模式(pattern),支持使用正则表达式,来对需要查找的内容进行模式匹配

        第二个符号“@”和第三个符号“@”之间的内容有个空格,表示将之间模糊匹配到的内容替换为一个空格(因为题目要求只删除符号“#”,原有的空格还在,这里把符号“#”和其后面的空格替换为一个空格,就满足题目要求了)

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

(0)
LiiLii
上一篇 2016-08-09 11:48
下一篇 2016-08-09 16:04

相关推荐

  • 软链接和硬链接的区别

          什么是链接文件? 使用windows的朋友们应该会经常接触到快捷方式吧!它也就是能让我们快速的打开一个目标应用程序,文件,或者文件夹来使我们的操作更加快捷。那么下面我们就来简单聊聊linux上的“链接文件”吧!            &n…

    Linux干货 2016-10-19
  • 第六周

      第6周   1 复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit ; sed -i 's@^[[:space:]]\+@#@g&#03…

    Linux干货 2017-02-13
  • 实现CA和证书申请,

    接下来讲的是在centos7.3和centos6.8中实现CA和证书申请,centos7.3作为主机,centos6.8作为客户端 首先你授权客户端CA证书,必须本身主机也具有CA,自己证明自己,先CA自签证书,然后在7.3创建私钥 为了方便以后的操作CD进入 cd /etc/pki/CA   生成自签名证书 -new:  生成…

    2017-04-11
  • Linux运维实战之2-1:文件管理类命令

    本次博文我们来学习下Linux系统中使用频率比较高的文件管理类命令哈。 主要内容:     1、文件管理的概述;     2、文件管理命令详解; 上次博文,我们学习了Linux的哲学思想,其中之一就是:Linux中一切皆文件。由此,文件管理就是Linux系统的重要功能之一。 一、…

    Linux干货 2016-11-06
  • week1

    一,计算机的组成 五大基本部件 运算器:  算术运算,逻辑运算等各种各样的运算的, 控制器:  控制总线的使用权限,内存寻址 控制权限访问是读还是写               寄存器,内部的存储器,都是用来存储数据的  加速和提高cpu性能   &…

    Linux干货 2016-10-28
  • 计算机的组成和Linux发行版本介绍

    计算机的组成及功能 计算机的五大组成,如下 各部分的作用; 控制单元和算数逻辑单元是CPU的两个主要组成部分  控制单元主要协调各组件与各单元间的工作  算数逻辑单元主要负责程序运算与逻辑判断 内存,DRANM(Dynamic Random Access Memory)动态随机访问内存;CPU读取的数据都是从内存读取来的。 输入单元,下指…

    2017-07-02