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

相关推荐

  • systemd

    systemd 启动流程:POST -> BIOS -> MBR bootloader -> kernel 临时根 -> 根文件系统 -> init init 能够管理、控制init进程的模块,就是init系统 能够让系统在用户预定义的级别下运行 设备管理器: sysvinit : CentOS 5 第一个广泛应用的init系统…

    Linux干货 2017-05-21
  • Linux进程管理常用命令(一)

    Linux系统上的进程查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glances, pmap, vmstat, dstat,kill,job,bg,fg, nohup, nice, renice, killall,…     Centos 5: Sys…

    Linux干货 2017-01-05
  • 文件权限

    小技巧 除root用户外其他用户将不能登录 touch /etc/nologin 或touch /run/nologin echo “system is maintaining”>> /etc/nologin 文件属性 文件的权限主要针对三类对象进行定义: owner: 属主, u 修改文件的属主: chown [OPTION]… […

    Linux干货 2016-08-08
  • linux用户和用户组

    一、用户和组 1、用户账号类型 在Linux系统中,根据系统管理的需要将用户账号分为不同的类型,其拥有的权限、担任的角色也各不相同。主要包括超级用户、普通用户和程序用户。 【超级用户】:root用户是Linux系统中默认的超级用户账号,对本主机拥有最高的权限,类似于Windows系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使…

    Linux干货 2017-07-22
  • Linux第二周学习博客作业

    对第二周学习的内容进行总结

    Linux干货 2017-12-10
  • 马哥教育网络班22期+第二周课程练习

    week2作业: 1.linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 (1)touch 功能:创建文件 示例:  [root@director1 example]# touch file1 file2 [root@director1 example]# ll to…

    Linux干货 2016-08-22