n: 讀取一行,執行n,把當前行列印到標準輸出,再讀取一行,覆蓋當前行,然後對模式空間執行一組模式/行為。
n:讀取一行,執行n,再讀取一行,現在模式空間有兩行內容,執行一組模式/行為。
如下:[root@localhost ~]# sed 'n;p;' num.txt
num1
num2
num2
num3
num4
num4
[root@localhost ~]# sed 'n;p;' num.txt
num1
num2
num1
num2
num3
num4
num3
num4
p:小寫p,把模式空間的內容都列印到標準輸出
p:大寫p,把模式空間中的第一行,列印到標準輸出
如下:[root@localhost ~]# sed -n 'n;p;' num.txt
num1
num2
num3
num4
[root@localhost ~]# sed -n 'n;p;' num.txt
num1
num3
d:刪除模式空間的所有內容,忽略後面的模式/行為
d:刪除模式空間的第一行,忽略後面的模式/行為
// 刪除第2、3行
[root@localhost ~]# sed '2' num.txt
num1
num4
// 刪除第2行
[root@localhost ~]# sed '2' num.txt
num1
num3
num4
注意:sed '2' num.txt 與 sed '2' num.txt 是等價的,因為d後面的p被忽略,不會執行。大寫d也是同樣道理。
h:把模式空間的內容覆蓋掉保留空間
h:把模式空間的內容追加到保留空間
// 1、2、3行追加到保留空間,對於第三行,交換回來,注意:保留空間初始值為乙個空行
[root@localhost ~]# sed 'h;3' num.txt
num1
num2
num1
num2
num3
num4
// 如何去掉上面的空行,第一行改為覆蓋
[root@localhost ~]# sed '1h;1!h;3' num.txt
num1
num2
num1
num2
num3
num4
g:把保留空間的內容覆蓋掉模式空間
g:把保留空間的內容追加到模式空間
// 1、2、3行追加到保留空間,對於第三行,覆蓋回來
[root@localhost ~]# sed 'h;3' num.txt
num1
num2
num1
num2
num3
num4
// 1、2、3行追加到保留空間,對於第三行,追加回來
[root@localhost ~]# sed 'h;3' num.txt
num1
num2
num3
num1
num2
num3
num4
常用sed命令
1 sed如何在檔案的最後 插入一行文字 sed i a 要插入的文字 file.txt 使用 i 選項直接修改檔案。匹配檔案的最後一行位置 2 在檔案的某一行插入 nl etc sed 2,4a abcde 在原始檔的第2行到第4行之後均插入行abcde nl etc sed 2a abcde n...
linux常用的命令 sed
sed 1d ab 刪除第一行 sed d ab 刪除最後一行 sed 1,2d ab 刪除第一行到第二行 sed 2,d ab 刪除第二行到最後一行 顯示某行 sed n 1p ab 顯示第一行 sed n p ab 顯示最後一行 sed n 1,2p ab 顯示第一行到第二行 sed n 2,p...
Linux 中常用的sed命令
sed是一種流編輯器,它是文字處理中非常中的工具,能夠完美的配合正規表示式使用,功能不同凡響。處理時,把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 pattern space 接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案...