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

相关推荐

  • awk用法指北

    awk用法指北 awk是对Linux系统中文本三剑客之一。其功能强大,支持条件判断、数组、循环,并且内置大量函数,近乎于一门独立的编程语言。 awk基本语法awk [option] ‘program’ FILE 最常用选项 -F “” 指定字段分隔符 //分隔符为PATTERN-v VAR=value 指定变量…

    Linux干货 2017-05-21
  • CentOS启动流程

      我们介绍一下CentOS操作系统的详细启动流程,了解这些启动流程之后,我们可以实验做一个小型的Linux。 1、Linux的组成 2、Linux的运行环境 3、Linux的启动流程 3.1、POST加电自检 3.2、Boot Sequence(启动次序) 3.3、MBR 3.4、Kernel 3.5、init 1、Linux的组成 &…

    Linux干货 2016-12-04
  • 22期第七周课堂练习

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

    Linux干货 2016-10-09
  • httpd服务归纳:httpd基本配置(周边常用工具,httpd 编译安装)

    一、 服务器status页     内生的status信息,可以通过web予以显示, 可以映射为url地址进行访问     1. 配置路径有几种不同方式          如果URL可以映射…

    Linux干货 2015-05-27
  • 文本处理:三剑客之sed及vim编辑器

    一、sed的用法详解 sed作为Linux的第二招,有着非常强大的文本处理功能。sed是一种在线编辑器、行编辑器,每次处理一行内容。在处理时,sed首先将行放在内存中的一块临时缓冲区,通常配叫做模式空间(pattern space)。如果模式空间的行符合sed的匹配模式则将该行处理后送到标准输出,如果不匹配则不做任何改动送到标准输出。模式空间中一般情况下只会…

    Linux干货 2016-08-12
  • vsdf

    Linux干货 2017-10-23