sed命令

sed命令spa

對文件的操做無非就是」增刪改查「,怎樣用sed命令實現對文件的」增刪改查「,玩轉sed是寫自動化腳本必須的基礎之一3d

sed遵循簡單的工做流:code

  1. 讀取(從輸入中讀取某一行)
  2. 執行(在某一行上執行sed命令)
  3. 顯示(把結果顯示在輸出中)

默認是顯示修改後內容,不會修改原文件,除非使用-i 參數。orm

 

經常使用參數及命令ci

sed [-nefri]  'command' test.txt  (儘可能按照標準格式使用單引號)unicode

sed工作流

 

處理文本文件,並輸出到標準輸出(控制檯)自動化

 

commandio

 

 

-etable

能夠指定多個命令

 

a

新增

 

-f

指定命令文件

 

c

替換

 

-n

取消默認控制檯輸出,與p一塊兒使用可打印指定內容

 

d

刪除

 

-i

輸出到原文件,靜默執行(修改原文件的意思)

 

i

插入

 

 

 

 

p

打印,要和-n參數一塊兒使用

 

 

 

 

s

替換(匹配局部替換)

 

新增 a

sed '2a testContent' test.txt

在第 2 行後面新增一行內容

sed '1,3a testContent' test.txt

在原文的第 1~3 行後面各新增一行內容

替換 c

sed '2c testContent' test.txt

將第 2 行內容整行替換

sed '1,3c testContent' test.txt

將第 1~3 行內容替換成一行指定內容

刪除 d

sed '2d' test.txt

刪除第 2

sed '1,3d' test.txt

刪除第1~3

插入 i

sed '2i testContent' test.txt

在第 2 行前面插入一行內容

sed '1,3i testContent' test.txt

在原文的第 1~3 行前面各插入一行內容

打印 p

sed '2p' test.txt

重複打印第 2

sed '1,3p' test.txt

重複打印第1~3

sed -n '2p' test.txt

只打印第 2

sed -n '1,3p' test.txt

只打印第 1~3

sed -n '/user/p' test.txt

打印匹配到user的行,相似grep

sed -n '/user/!p' test.txt

! 反選,打印沒有匹配到user的行

sed -n 's/old/new/gp' test

只打印匹配替換的行

替換 s

sed 's/old/new/' test.txt

匹配每一行的第一個old替換爲new

sed 's/old/new/gi' test.txt

匹配全部old替換爲newg 表明一行多個,i 表明匹配忽略大小寫

sed '3,9s/old/new/gi' test.txt

匹配第 3~9 行全部old替換爲new

 

參數 -e

sed -e 's/系統/00/g' -e '2d' test.txt

執行多個指令

 

參數 -f

sed -f ab.log test.txt

多個命令寫進ab.log文件裏,一行一條命令,效果同-e

 

舒適提示

若不指定行號,則每一行都操做。

$表明最後一行,雙引號內的$表明使用變量。

 

已使用 Microsoft OneNote 2010 建立 一個用於存放全部筆記和信息的位置

相關文章
相關標籤/搜索