sed 常用的命令

2021-09-07 21:39:13 字數 1669 閱讀 4708

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命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案...