1. 程式人生 > 其它 >Linux三劍客——sed

Linux三劍客——sed

Linux三劍客——sed

1. 關於sed

1. Linux sed 命令是利用指令碼來處理文字檔案。

2. sed 可依照指令碼的指令來處理、編輯文字檔案。

3. Sed 主要用來自動編輯一個或多個檔案、簡化對檔案的反覆操作、編寫轉換程式等。  

2. sed的格式

  sed [-hnV][-e<script>][-f<script檔案>][文字檔案]

3. sed的引數

-e<script>或--expression=<script> 以選項中指定的script來處理輸入的文字檔案
-f<script檔案>或--file=<script檔案>
以選項中指定的script檔案來處理輸入的文字檔案
-h或--help 顯示幫助
-n或--quiet或--silent 僅顯示script處理後的結果
-V或--version 顯示版本資訊
-r 支援拓展正則
-i 就地編輯

4. 定位

  4.1 數字定位法

    指定行號。
        sed '3d' 4.txt 
        sed '2,3d' 4.txt    

  4.2 正則定位法

    指定正則定位。
        sed '/^g/d' 2.txt    

  4.3 數字正則定位法

     sed '3,/^g/d' 2
.txt

  4.4 正則正則定位法

         sed '/^g/,/^j/d' 2.txt    

5. sed的編輯模式

d 刪除
p 列印
a 在當前行後新增一行或多行
c   用新文字修改(替換)當前行
i 在當前行之前,插入文字
r 在檔案中讀內容
w 將指定行寫入檔案
y 將字元轉換成另一個字元
s 將字串轉換成另一個字串(每一行只替換一次)
g 全部執行
和s連用的i 忽略大小寫
& 代表前面匹配到的內容