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

相关推荐

  • find总结及练习

    文件查找: 在文件系统上查找符合条件的文件; 文件查找:locate, find非实时查找(数据库查找):locate 实时查找:find locate: 依赖于事先构建的索引;索引的构建是在系统较为空闲时自动进行(周期性任务);手动更新数据库(updatedb); 索引构建过程需要遍历整个根文件系统,极消耗资源; 工作特点: 查找速度快; 模糊查…

    Linux干货 2016-07-22
  • 上篇博客简单提了一下Nginx配置文件的大体组成部分,这次来好好解释一下这些个配置文件。 一、main配置段 分类:    正常运行必备的配置    优化性能相关的配置    用于调试及定位问题相关的配置   …

    Linux干货 2016-10-26
  • 马哥教育网络班21期+第2周课程练习

    一:在Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例。     在Linux中,文件管理类命令主要有cp,mv,rm三个     其中cp命令的使用格式如下:           …

    Linux干货 2016-07-16
  • 一切皆文件

    Linux Linux内一切皆文件;表现之一:硬件设备也通过文件表示 物理终端:/dev/console 虚拟终端: /dev/tty#[1,6] 串行终端:/dev/ttyS# 伪终端: /dev/pts/# 注意:在启动设备之后,在其上关联一个用户接口程序,即可实现与用户交互,交互式程序有两类:GUI(图形化界面)和CLI(命令行界面)。 查看终端设备:…

    Linux干货 2017-04-01
  • 有趣的bash脚本

    1、编写脚本/root/bin/createuser.sh,实现如下功能:使 用一个用户名做为参数,如果指定参数的用户存在,就显示 其存在,否则添加之;显示添加的用户的id号等信息 #!/bin/bash read -p “Please input username: ” n if id $n &> /dev/null;then echo “T…

    Linux干货 2017-08-25
  • 学习笔记–权限管理

    文件系统的权限管理 1、Linux系统下每个目录或文件的权限对象主要分为:属主(u)、属组(g)、其他用户(o),针对每类访问对象都定义了三种权限:读(r)、写(w)、执行(x),这三种权限针对目录和文件的作用各不相同,以下将做详细说明: 对于文件来说: 读(r)权限:可以使用文本查看类工具读取文件内容 写(w)权限:可以修改文件内容,但不能删除文件本身 执…

    Linux干货 2016-08-05