0808文本处理作业

                      

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

答:sed  @^[[:space]]\+@@  /etc/grub2/cfg

图片1.png 

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

答:sed  -n  's/^#[[:space:]]\+//p'  /etc/fstab

图片2.png

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

答:sed  -n 's/^/&#/p' /root/install.log

图片3.png 

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

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

图片4.png 

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

答:取目录echo "/etc/fst/sd/"|sed -r 's#[^/]+/?$##'

图片5.png 

取基名 echo "/etc/fst/sd/" | sed  <a href="mailto:'s@.*/'s@.*\<@@'  锚定基名的左侧

图片6.png 

echo "/etc/fst/sd" | sed -r  's@(.*)/([^/]+/?)@\2@'

echo "/etc/fst/sd" | sed   -r 's@(.*/)([^/]+/?)$@\1@'

图片7.png 

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

答:ifconfig |sed -n  '2p'|sed  -nr 's@.*addr:\b@@p'|sed -nr 's@\b[[:space:]].*@@p'

图片8.png 

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

答:ls /run/media/root/CentOS\ 7\ x86_64/Packages/|sed -r  's@\b\.rpm$@@' |sed -r 's@.*\.\b@@'|sort|uniq -c

图片9.png 

利用分组ls /run/media/root/CentOS\ 7\ x86_64/Packages/ |sed -r 's@.*\.(.*)\.rpm@\1@'|sort |uniq -c

图片10.png 

 

8、复制/etc/profile /tmp/ 目录,用查找替换命令删除

/tmp/profile 文件中的行首的空白字符

答:sed -r 's@^[[:space:]]+@@' /tmp/profile  

图片8-1.png 

9、复制/etc/rc.d/init.d/functions 文件至/tmp 目录,用查

找替换命令为/tmp/functions 的每行开头为空白字符的行的

行首添加一个#号。

答:sed  -r  's@^[[:space:]]+@#&@' /tmp/functions

使用扩展正则表达式时注意+前不要再出现\

图片11.png 

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

11、复制/etc/rc.d/init.d/functions 文件至/tmp 目录;替换

/tmp/functions 文件中的/etc/sysconfig/init /var/log

答:复制完成后如下图

图片12.png 

进行替换操作

%s@/etc/sysconfig/init@/var/log@g   使用@或者#时,其中的/则不需要转义了。

图片13.png 

13 、删除/tmp/functions 文件中所有以# 开头,且# 后面至少

有一个空白字符的行的行首的# 号。

 sed  -r 's@^#([[:space:]]+)@ \1@'  /tmp/functions

注意第二个@前不能加.*,否则会将整行替换掉。

图片14.png 

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

(0)
178babyhanggege178babyhanggege
上一篇 2016-08-11 09:37
下一篇 2016-08-11 09:37

相关推荐

  • select循环解析

    前言:   select命令用于创建菜单,在select循环执行时会根据list数组给出选择菜单,用户选择后的结果保存在变量中,然后给出菜单,等待用户选择。select是个死循环,如果用户用户想跳出选择循环,需要在循环体中根据条件增加break语句。 格式: select variable in list do 循环体命令 done 示例: 在这个…

    Linux干货 2016-08-24
  • HA cluster原理

    HA cluster 一、什么是高可用集群   高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务。高可用集群是用于单个节点发生故障时,能够自动将资源、服务进行切换,这样可以保证服务一直在线。在这个过程中,对于客户端来说是透明的。 …

    2016-11-27
  • N25第九周博客作业

    1、 写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/sh lg=0 nlg=0 while read line;do   if [[ “${line}” =~“/sbin/nol…

    Linux干货 2017-03-06
  • 硬盘的读写原理

     硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;IDE 遵循的是ATA标准,而目前流行的SATA,…

    Linux干货 2015-04-10
  • linux系统故障排除总结

    常见的系统故障 1.确定文体的故障特征 2.重现故障 3.使用工具收集进一步信息,确定根源在何处 4.排除不可能的原因 5.定位故障:             从简单的问题入手      &…

    Linux干货 2016-09-15
  • 一次完整的HTTP事务是怎样一个过程?

    声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解。 关于HTTP协议可以参考以下: HTTP协议漫谈 http://kb.cnblogs.com/page/140611/ HTTP协议概览 http://www.cnblogs.com/vamei/archive/2013/05/11/3069788.html 了解HTTP Heade…

    Linux干货 2015-03-10