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
下一篇 2016-08-09

相关推荐

  • N26 第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令有:mkdir rmdir cp mv rmmkdir:创建文件夹命令格式:mkdir [OPTION]… DIRECTORY… # 创建日期文件夹       &…

    Linux干货 2017-01-17
  • 加密算法、https、dns(主从、视图)

    第九周 2018/1/29

    2018-01-29
  • DNS服务器之理论基础

    一、什么是DNS     DNS全称为Domain Name System,即域名系统,其作用就是将我们经常使用的“网址”解析为IP地址。     在互联网上通信需要借助于IP地址,但人类对于数字的记忆能力远不如文字,那么将IP地址转换成容易记忆的文字是个好办法,可是计算机只能识…

    Linux干货 2015-04-29
  • 2016-10-17作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 答:hwclock -s 2 生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。 答:screen -S work  进去后开始做工作,暂时离开时可使用 ctrl+a,d 剥离当前会话。 3 Linux系统中命令共分为内建命令…

    Linux干货 2016-10-18
  • LVM逻辑卷管理练习

         小编今天要讲的内容是如何创建逻辑卷,然后扩展它、缩减它。LVM 的重点就在于可以弹性的调整文件系统的容量!所以,下面练习开始。 1、创建一个至少有两个PV组成的大小为20G的名为testvg的 VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻 辑卷testlv;挂载至/users目录。 ①准备两个10G的…

    2017-08-26
  • 软件包管理器之二——YUM介绍及使用

    一、前言     之前我们介绍了RPM的应用(详细请查看http://www.178linux.com/archives/6383),发觉RPM安装软件有一个很繁琐的问题,那就是包与包之间的依赖关系,如果想正常安装和使用软件程序,就必须根据要求一步一步的解决软件之间的依赖关系。那么如果程序使用的包很多,将会很消耗使用人…

    Linux干货 2015-07-21