文本處理工具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.www58058.com/33259

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

相關推薦

  • Linux基礎知識(三)

    1、列出當前系統上所有已經登錄的用戶的用戶名(多次登錄的用戶,只顯示一次即可) [root@bogon ~]# w |grep -E ".*(pts|tty).*"|awk '{print $1}'|uniq 2、列出最后登錄到當前系統的用戶的相關信息 [root@bogon ~]# last -aF 3、取出當前系統…

    Linux干貨 2016-10-09
  • 恐怖的C++語言

    Linus曾經(2007年9月)在新聞組gmane.comp.version-control.git里和一個微軟的工程師(Dmitry Kakurin)爭執過用C還是用C++,當時的那個微軟的工程師主要是在做Git的Windows版,但他卻發現Git的源碼居然是C語言寫的,而不是C++,于是他(Dmitry Kakurin)在Linux社區里發貼表示對Lin…

    Linux干貨 2015-04-03
  • 正則表達式

         正則表達式是由一類特殊字符所編寫的模式,通過這些字符的使用,我們能檢索 查找文本中符合某些規則的內容。 正則表達式元字符的分類有:字符匹配,匹配次數,位置錨定,分組等。      字符匹配:      . : 匹配任意單個字符     &n…

    Linux干貨 2017-04-06
  • 文本查找與文件查找

    咬文嚼字,顛倒糊涂,善哉!善哉? 念頭通達,思慮有感,言簡明,意通神 文件是什么?文本是什么?文本文件是什么?      好想來碗正常的豆腐腦,可惜每天早上也只能是豆腐花。吃不到,想想還是可以的,豆腐腦是“文件”,吃豆腐腦是“看文本”,找到地,點了豆腐腦,就是“查找文件”,符合個人口味的,加鹽,加咸菜,加黃豆…

    2017-06-04
  • linux 磁盤管理

    1、查看系統存在硬盤:lsblk  2、對磁盤分區操作:fdisk /dev/sda p: 顯示當前硬件的分區,包括沒保存的改動 n: 創建新分區 e: 擴展分區 p: 主分區 d: 刪除一個分區 w: 保存退出 t: 修改分區類型 L:顯示所支持的所有類型 3、在CentOS 5和7 使用partprobe同步分區。 4、mkfs -t 文件類型…

    Linux干貨 2017-08-13
  • 磁盤管理

    磁盤管理

    Linux干貨 2017-10-27
欧美性久久久久