文本处理工具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)
M20-1倪文超M20-1倪文超
上一篇 2016-08-10 10:15
下一篇 2016-08-10 10:15

相关推荐

  • sed 和 vim 的 用法

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

    Linux干货 2016-08-12
  • Linux普通权限及特殊权限讲解

    1.文件权限 文件权限主要是针对三类对象进行定义的:                          &nb…

    学员作品 2016-08-05
  • 马哥教育网络班20期-第八周课程作业

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。 集线器的英文称为“Hub”。主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它…

    学员作品 2016-09-08
  • Linux 用户,组和用户权限的使用

    echo -e "Hello,I am 'whoami',the system version is here,please helcheck ist  thanks! \n'lsb_release'"| mail -s 'help'root cmd1 |cmd 2 cma1 2&…

    2016-08-05
  • Linux文本处理工具sed

    sed工作原理:sed从文件中读取出来一行,并不会直接进行编辑处理而是会放在自己的模式空间内进行处理,处理的结果将会送到标准输出,默认情况下sed可以对每行文本进行处理,也可以让sed处理符合条件的行,我们可以利用正则表达式做文本过滤,模式空间有两种输出结果,一种是可以匹配到的,会根据编辑要求进行处理,例如删除,过滤字符串。另外一种则是匹配失败的,会直接进行…

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

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。   网桥:链接层设备,基于MAC地址过滤。   集线器:物理层设备,基本都属于半双工模式。集线器与网桥在现在的局域网中基本都不用了。   二层交换机:基本MAC转发数据,功能齐全的可支持VLAN等功能。常见的有100/1…

    学员作品 2016-09-10