文本处理工具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
下一篇 2016-08-12

相关推荐

  • 文本处理三剑客之Sed(行编辑器)

    sed(流编辑器,行编辑器)     是一种流编辑器,一次处理一行内容,处理时把当前处理的行存储在临时缓存中,成为“模式空间”,接着用sed命令处理缓冲区的内容,处理完毕后吧缓冲区内容输出到屏幕接着处理下一行。这样不断重复到末尾。文件内容并没有改变。除非使用重定向输出才会改变内容。 sed:行编辑器(全屏编辑器:vi)   &n…

    Linux干货 2016-08-15
  • Linux启动过程及系统初始化

    一、前言     服务器在正常的运行过程中,很少有重启的机会。在正常的情况下,也很少有出现启动异常的情况,但是在遭到了人为或者误操作的情况后,可能会出现启动异常的情况。为了加深学习系统启动流程,能够更加深入理解Linux系统的启动流程。总结了这篇文字。 二、简述启动流程     …

    Linux干货 2016-11-23
  • WEB 常见故障与处理

    一、应用故障 HTTP 502 故障 502 Bad Gateway 故障检测: 首先定位到前端故障服务器节点,在前端服务器(Telnet)上访问后端服务端口响应时间。如发现响应时间超时>10s。说明后端应用程序出现故障。需要到后端服务器查看,并查明情况。 PS:HTTP 502 Bad Gateway 故障一般分为以下2种情况: 网络问题:前端无法连…

    2016-06-03
  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • 从Linux小白到大牛——与狼共舞的日子11

    马哥教育网络班21期+第10周课程练习 1、详细描述一次加密通讯的过程,结合图示最佳。 加密过程 1.使用单向加密算法,提取A的文件的特征码。 2.使用A的私钥对提取出来的特征码进行加密,把加密后的特征码附加在A的文件的后面。 3.使用对称加密对刚刚的A的文件和加密后的特征码进行加密,生成对称加密密钥 4.使用B的公钥对第3步骤的对称加密的密钥进行加密,加密…

    Linux干货 2016-12-05
  • 用户和组——Linux基本命令(10)

    1.     用户和组的配置文件 Linux用户和组的主要配置文件: /etc/passwd:用户及其属性信息(名称、UID、主组ID等) /etc/group:组及其属性信息 /etc/shadow:用户密码及其相关属性 /etc/gshadow:组密码及其相关属性   2. /etc/passwd 在Li…

    2017-07-22