文本处理工具sed及文本编辑器vim课程作业

文本处理工具sed课程作业

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

        sed -n 's@^[[:space:]]\+@@p' /etc/grub2.cfg

    blob.png

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

        sed -nr 's@^#[[:space:]]+@@p' /etc/fstab

    blob.png

    

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

        sed -r 's@.*@#&@' /root/install.log

    blob.png

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

        sed -n 's@^[^#]@#&@p' /etc/fstab

    blob.png

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

        目录名:echo "/etc/fstab" |sed -r 's@^(.*/)([^/]+/?)$@\1@'

        基名:echo "/etc/fstab" |sed -r 's@^(.*/)([^/]+/?)$@\2@'

    blob.png

    

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

        ifconfig|sed -n '/Bcast/p'|sed -r 's@inet addr:(.*) Bcast:.*$@\1@'

    blob.png

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

        ls /mnt/Packages/*.rpm|sed -r 's@^.*\.(.*)\.rpm$@\1@'|sort|uniq -c

    blob.png

        ls /mnt/Packages/*.rpm|awk -F "." '{NUM[$(NF-1)]++}END{for(i in NUM){print i,NUM[i]}}'

    blob.png

文本编辑器vim课程作业

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

        set tabstop=4

    blob.png

    blob.png

        以上设置仅对当前vim设置有效,如果要对单个用户永久生效,则可以将该规则写入该用户家目录下的.vimrc文件中,该文件默认不存在,可以手动创建,如果要对所有用户生效,则可以对/etc/vimrc文件中

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

        sed方式:sed -n 's@^[[:space:]]\+@@p' /testdir/profile

        vim方式:(扩展命令行模式下执行)   %s@^[[:space:]]\+@@

    blob.png    

    blob.png

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

        sed方式:sed -n 's@^[[:space:]]\+@#&@p' /testdir/functions

        vim方式:(扩展命令行模式下执行)   %s@^[[:space:]]\+@#&@

    blob.png

    blob.png

    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

    blob.png

    blob.png

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

        sed方式:sed -nr 's@^#([[:space:]]+.*)$@\1@p' /testdir/functions

        vim方式:(扩展命令行模式下执行)   %s@^#\([[:space:]]\+.*\)$@\1@

    blob.png

    blob.png

原创文章,作者:M20-1倪文超,如若转载,请注明出处:http://www.178linux.com/32243

(0)
上一篇 2016-08-10 10:15
下一篇 2016-08-10 10:22

相关推荐

  • sed 流编辑器使用详解

    一、Stream EDitor, 行编辑器   sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出…

    2016-08-10
  • 关于shell变量计算中单中括号与双中括号、单引号与双引号的一些看法

      单中括号是比较基本的变量计算及数值比较的方法,一般情况下已经足够使用;双中括号是扩展的数值比较方法,里面的数值计算也相对来说复杂些。这里我推荐大家平常工作中使用单中括号即可,满足日常的工作,不做运维开发的话,双括号方面涉及不多。   这里我还得提下单括号与双括号,这里也是我经常混淆的地方,其实理解了也就轻松多了。单括号是对一段比较长的…

    学员作品 2016-08-15
  • 马哥教育网络班21期-第七周课程练习

    第七周 1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动…

    学员作品 2016-08-29
  • 【福利贴-招聘】- 维护工程师

    地点:黄浦–人民广场  职位:技术支持/维护 要求:招1人| 大专| 1-2年 薪资范围: 8-12k 职位职能:技术支持/维护工程师 岗位职责: 1.熟悉Linux及其远程维护; 2.熟练掌握Linux网络安装、日常管理、安全、备份、恢复、故障处理、日志分析等技能; 3.熟悉Web、mysql优化管理、apache等常见的问题及处理 …

    Linux职位 2015-05-14
  • 马哥教育网络班20期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i other=0 declare -i nologin=0 for i in&nbs…

    学员作品 2016-08-08
  • 马哥教育网络班20期+第10周博客作业

    4、写一个脚本   (1) 能接受四个参数:start, stop, restart, status    start: 输出“starting 脚本名 finished.”    …   (2) 其它任意参数,均报错退出;     #!bin/b…

    学员作品 2016-12-05