文本处理工具sed习题

1、删除/etc/grub2.cfg文件中所有以空白开头的行行首空白字符
[root@wzc date]# sed -n 's/^[[:space:]]\+//p' /etc/grub2.cfg
load_env
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
set default="${saved_entry}"
......................
2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
[root@wzc date]# sed -n 's/^#[[:space:]]\+//p' /etc/fstab
/etc/fstab
Created by anaconda on Mon Aug  1 10:01:43 2016
Accessible filesystems, by reference, are maintained under '/dev/disk'
See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
3、在/root/install.log每一行行首增加#号
[root@localhost ~]# sed -n 's/^/#/p' /etc/passwd
#root:x:0:0:root:/root:/bin/bash
#bin:x:1:1:bin:/bin:/sbin/nologin
#daemon:x:2:2:daemon:/sbin:/sbin/nologin
#adm:x:3:4:adm:/var/adm:/sbin/nologin
#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#sync:x:5:0:sync:/sbin:/bin/sync
.....................................只截部分
4、在/etc/fstab文件中不以#开头的行的行首增加#号
[root@wzc date]# sed -n 's/^[^#]/#&/p' /etc/fstab
#UUID=ef85cb95-3017-4d46-938d-75430f428ee8 /                       xfs     defaults        0 0
#UUID=fe2e4ff9-2cf4-4c4a-bd35-bea53d54c8c4 /boot                   xfs     defaults        0 0
#UUID=6102e0e1-a1a5-40bb-8287-3b2d356e7d56 /date                   xfs     defaults        0 0
#UUID=0d6263e8-055d-4263-965d-f6447c6f8655 swap                    swap    defaults        0 0
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名
    取目录名:
[root@wzc date]# echo "/etc/fst/sd/" | sed -r  's#[^/]+/?$##'
/etc/fst/
    取基名:
[root@wzc date]# echo "/etc/fst/sd" | sed  's@.*\<@@'
sd
6、利用sed 取出ifconfig命令中本机的IPv4地址
[root@wzc date]# ifconfig |sed -n 2p |sed -e 's/^.*inet '// -e 's/ net.*$//'
10.1.0.188
7、统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数
[root@wzc Packages]# ls |sed -r 's@.*\.(.*)\.rpm$@\1@' | sort | uniq -c
   2000 i686
   2938 noarch
      1 TRANS.TBL
   4069 x86_64

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

(0)
RecallWzcRecallWzc
上一篇 2016-08-12 09:02
下一篇 2016-08-12 09:02

相关推荐

  • N25期第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加# sed -r 's/^[^[:space:]]+/#&/g' /tmp/rc.sysinit :%s/^[^[:space:]]\+/#&a…

    Linux干货 2016-12-26
  • 如何成为一名软件架构师

    Daniel Mohl是一名专业的软件工程师/架构师,他的兴趣包括理解各种复杂的编程语言、企业应用架构以及如何搭建业务与技术,他通晓F#、C#、CoffeeScript、JavaScript、Erlang、ASP.NET、MVC、WPF、WCF、Sliverlight、SQL Server等技术。有着多年的软件开发经验。 他经常会被一些有潜力和有前途的程序员…

    Linux干货 2016-03-22
  • 启动流程排错,自制linux内核,编译内核

    CentOS 6启动流程: POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> rootfs–> switchroot–> /sbin/init–>(/et…

    Linux干货 2016-09-20
  • 推荐-LAMP的编译安装

    首先解释一下LAMP,L:Linux;A:apache;M:MariaDB;P:php。Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件。 本文就是介绍编译安装apache2.4,MariaDB5.5,以及php(基于模块化和fpm的这两种方式来配合php提供服务)。 因为php是…

    Linux干货 2016-04-11
  • shell脚本循环及函数

    16.循环执行                 将代码段重复运行多次           &nbsp…

    Linux干货 2016-08-24
  • DHCP服务

    一、DHCP概述     DHCP全称为Dynamic Host Configuration Protocol,即动态主机配置协议,其主要作用是使用网内的主机可以自动获取到网络相关参数信息,以达到高效管理主机的目的。     DHCP采用C/S架构,即Server/Client。…

    Linux干货 2015-05-11