sed命令


sed命令

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

sed遵循簡單的工作流:

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

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

 

常用參數及命令

sed [-nefri]  'command' test.txt  (盡量按照標准格式使用單引號)

sed

 

處理文本文件,並輸出到標准輸出(控制台)

 

command

 

 

-e

可以指定多個命令

 

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 創建
一個用於存放所有筆記和信息的位置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM