Linux三劍客——sed
阿新 • • 發佈:2021-12-21
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 | 忽略大小寫 |
& | 代表前面匹配到的內容 |