linux中sed工具的使用

sed

sed 本身也是一個管線命令,而且 sed 還可以將數據進行取代、刪除、新增、擷取特定行等等的功能。

$ sed [-nefr] [動作]
選項與參數:
-n  :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN 的數據一般都會被列出到屏幕上。
      但如果加上 -n 參數后,則只有經過 sed 特殊處理的那一行(或者動作)才會被列出來。
-e  :直接在命令行界面上進行 sed 的動作編輯;
-f  :直接將 sed 的動作寫在一個文件內, -f filename 則可以執行 filename 內的 sed 動作;
-r  :sed 的動作支持的是延伸型正則表達式的語法。(默認是基礎正則表達式語法)
-i  :直接修改讀取的文件內容,而不是由屏幕輸出。

動作說明:  [n1[,n2]]function
n1, n2 :不見得會存在,一般代表“選擇進行動作的行數”,舉例來說,如果我的動作
         是需要在 10 到 20 行之間進行的,則“ 10,20[動作行為] ”

function 有下面這些咚咚:
a   :新增, a 的后面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
c   :取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行!
d   :刪除,因為是刪除啊,所以 d 后面通常不接任何咚咚;
i   :插入, i 的后面可以接字串,而這些字串會在新的一行出現(目前的上一行);
p   :打印,亦即將某個選擇的數據印出。通常 p 會與參數 sed -n 一起運行~
s   :取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正則表達式!
      例如 1,20s/old/new/g 就是啦!
1.刪除
$ nl 1.txt
     1    helloworld
     2    haa
     3    12345678
     4    !@#$%^&*(
     5    ASDwexvRSD
     6    ,./]];]{}_()^%
     7    asdasdasd
       
$ nl 1.txt| sed '2,5d'
     1    helloworld
     6    ,./]];]{}_()^%
     7    asdasdasd

2.插入

$ nl 1.txt|sed '1a weather is hot!'
     1    helloworld
weather is hot!
     2    haa
     3    12345678
     4    !@#$%^&*(
     5    ASDwexvRSD
     6    ,./]];]{}_()^%
     7    asdasdasd

3.查看第4~5行的數據

$ nl 1.txt|head -n 5|tail -n 2
     4    !@#$%^&*(
     5    ASDwexvRSD

使用sed更加簡單方便

$ nl 1.txt|sed -n '4,5p'
     4    !@#$%^&*(
     5    ASDwexvRSD

4.獲取ip地址

(1)使用ifconfig獲取網卡信息。

(2)通過inet過濾ip信息

$ ifconfig|grep 'inet '
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet 192.168.56.101  netmask 255.255.255.0  broadcast 192.168.56.255
        inet 127.0.0.1  netmask 255.0.0.0

(3)替換前面的inet

$ ifconfig|grep 'inet '|sed 's/^.*inet//g'
 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
 192.168.56.101  netmask 255.255.255.0  broadcast 192.168.56.255
 127.0.0.1  netmask 255.0.0.0

(4)將netmask到最后都替換掉

$ ifconfig|grep 'inet '|sed 's/^.*inet//g'|sed 's/ *netmask.*$//g'
 10.0.2.15
 192.168.56.101
 127.0.0.1
摘抄自:https://www.cnblogs.com/lzeffort/p/7237268.html

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96501

(0)
小孜然小孜然
上一篇 2018-04-18
下一篇 2018-04-18

相關推薦

  • 自簽證書 配置到apache的httpd、nginx的 配置文件內測試

    算是一個小整理,我在這里轉了好幾天,整理一下適合剛剛開始迷惑的朋友

    Linux筆記 2018-05-27
  • 學習liunx 系統筆記

    服務器按應用功能可分為:web 服務器 ? 數據庫服務器 ? 文件服務器 ?中間件應用服務器 ?日子服務器 ? 監控服務器 ? 程序版本控制服務器 ?虛擬機服務器 ? ? 郵件服務器 ? 打印服務器 ? 域控制服務器 ?多媒體服務器 ?通訊服務器 ? ?ERP 服務器等! 服務器按外形可分為:塔式服務器 ? 、機架式服務器 ?、刀片式服務器。  

    Linux筆記 2018-04-01
  • rpm指令詳解

    程序包管理器: 功能:將編譯好的應用程序的各組成文件打包成一個或幾個程序包文件,從而更方便地實現程序包的安裝、升級、卸載和查詢等管理操作; ? 1、程序包的組成清單(每個程序包都單獨實現); ? ? ? ? 文件清單 ? ? ? ? ?安裝或卸載時運行的腳本 ? 2、數據庫(公共) ? ? ? ?程序包的名稱和版本; ? ? ? 依賴關系; ? ? ? 功能…

    Linux筆記 2018-03-30
  • 初識Nginx——曉以大意 明以細理

    什么是nginx?nginx is a free,open-source,high-performance http server and reverse proxy,as well as an IMAP/POP3 proxy.通俗的說Nginx提供web服務,反向代理,以及IMAP/POP3代理,那么什么是web服務?反向代理?IMAP/POP3代理? w…

    2017-09-10
  • joke

    后續進行修改

    Linux筆記 2018-04-08
欧美性久久久久