Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux sed 串流編輯器常用選項與指令實戰範例大全 (刪除、顯示、新增、取代、插入)

編輯:關於 Linux

sed 是強大的行導向文本處理工具,支援正則運算式。本文整理常用選項、核心指令與豐富實例。

常用選項

  • -n:靜默模式,僅輸出經處理的行 (配合 p 指令)。
  • -e:直接在命令列指定編輯指令。
  • -f:從檔案讀取指令腳本。
  • -r:使用擴展正則 (ERE)。
  • -i:直接修改原檔案 (慎用)。

核心指令

指令功能
a行後新增字串
c行範圍取代為字串
d刪除行
i行前插入字串
p列印行 (常與 -n 同用)
s替換 (支援正則與 g 全域旗標)

實戰範例 (假設檔案 ab 內容為三行)

刪除

sed '1d' ab          # 刪除第 1 行
sed '$d' ab          # 刪除最後一行
sed '1,2d' ab        # 刪除第 1-2 行
sed '2,$d' ab        # 刪除第 2 行至末尾

顯示

sed -n '1p' ab       # 顯示第 1 行
sed -n '$p' ab       # 顯示最後一行
sed -n '1,2p' ab     # 顯示第 1-2 行
sed -n '2,$p' ab     # 顯示第 2 行至末尾

模式匹配顯示

sed -n '/ruby/p' ab          # 含 ruby 的行
sed -n '/\$/p' ab            # 含 $ 的行 (需轉義)

新增/插入

sed '1a drink tea' ab                    # 第 1 行後新增
sed '1,3a drink tea' ab                  # 第 1-3 行後各新增
sed '1a drink tea\nor coffee' ab         # 第 1 行後新增多行 (\n 換行)

取代整行

sed '1c Hi' ab         # 第 1 行替換為 Hi
sed '1,2c Hi' ab       # 第 1-2 行合併替換為單行 Hi

部分替換

sed -n '/ruby/p' ab | sed 's/ruby/bird/g'  # ruby → bird
sed -n '/ruby/p' ab | sed 's/ruby//g'      # 刪除 ruby

檔案末尾插入 (直接修改檔案)

sed -i '$a bye' ab

sed 處理列能力強於 awk,適合行導向批次編輯任務。

Copyright © Windows教程網 All Rights Reserved