文本处理工具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

相关推荐

  • 任务计划管理

    一:单一工作调度:at命令       列出在指定的时间和日期在计算机上运行的已计划命令或计划命令和程序。必须正在运行“计划”服务才能使用 at 命令。 示例: [root@CentOS 6 ~]#/etc/init.d/atd restart   启动服务 …

    Linux干货 2016-09-12
  • N26 第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令有:mkdir rmdir cp mv rmmkdir:创建文件夹命令格式:mkdir [OPTION]… DIRECTORY… # 创建日期文件夹       &…

    Linux干货 2017-01-17
  • 网络相关命令

    网络相关命令 常用命令 ifcfg家族:   ifconfig:配置IP,NETMASK   route :路由   netstat : 状态及统计数据查看 iproute2家族     ip  系列 &nbs…

    Linux干货 2016-09-07
  • 马哥教育网络21期+第十一周练习博客(上)

    马哥教育网络21期+第十一周练习博客(上) 1、详细描述一次加密通讯的过程,结合图示最佳。 加密同性过程中使用到最重要的就是openssl     安全加密传输过程中要确保如下几个环节:     保密性:数据保密性,隐私性     完整性:…

    Linux干货 2016-09-26
  • socket编程原理

    1、问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然…

    Linux干货 2015-04-10
  • N25 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。   4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt…

    Linux干货 2017-01-04