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

相关推荐

  • ipvsadm用法

    ipvsadm命令的用法:      1.用于管理Lvs集群服务      2.用于进行RS的增删改      3.查看配置  lvs服务器架设步骤:  1.判断内核是否支持ipvs(看到CONFIG_NETFIFLER_XT_MATCH_IPVS=…

    Linux干货 2017-01-10
  • 手动添加用户

        通常使用useradd命令可以轻松添加一个用户,然后使用passwd命令设置一个密码后就可以登录系统了,其实这一过程完成可以自己手动完成,下面就让我们来通过修改配置文件来添加一个用户。 一、修改/etc/passwd文件     在etc/passwd文件中手动添加一行内…

    Linux干货 2015-04-27
  • bash脚本编程class2

    bash脚本class2—循环语句的使用      一.三种循环语句以及其具体使用方法   我们知道,在shell脚本编程过程中,为了实现逻辑关系的运算,有三种执行命令的顺序:顺序执行,选择执行,循环执行。通过if,case这类语句可以实现条件筛选后执行命令,这次课程中所学的主要知识点为循环语句的三种使用方式:for,…

    Linux干货 2016-08-19
  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限 答:     复制目录:cp -R /etc/skel /home/tuser1     修改权限:chmod -R go=- /home/tuser1 2、编辑/etc/group文件…

    Linux干货 2016-12-07
  • Linux内核编译过程详解

    前言 Linux内核是Linux操作系统的核心,也是整个Linux功能体现的核心,就如同发动机在汽车中的重要性。内核主要功能包括进程管理、内存管理、文件管理、设备管理、网络管理等。Linux内核是单内核设计,但却采用了微内核的模块化设计,支持内核线程以及动态装载内核模块的能力。 Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订…

    Linux干货 2015-04-01
  • 前三天基础-Linux文件系统概论

    Linux之我见     在2016农历丙申年2016年猴年,对于小白的我来说接触到了江湖流传的武功秘籍之-Linux心法,第一次接触到命令行,知道在键盘上随便敲击命令就可以满屏跑数据,就像看过的美国大片里黑客帝国里面的画面,感觉学会好后可以装逼了,废话不多说了,允许在下斗胆介绍Linux文件系统。     &nbsp…

    Linux干货 2016-03-24