高階Sed命令 N

2021-08-25 21:02:46 字數 1095 閱讀 5577

n(next) 追加下一行

通過讀取新的輸入行,並將它新增到模式空間的現有內容之後來建立多行模式空間

模式空間最初的內容和新的輸入行用換行符(/n)分隔

在模式空間中,元字元「^」只匹配模式空間中的第乙個元字元,而不匹配換行符後買呢的字元

同樣「$」只匹配模式空間中最後的換行符

next 輸出模式空間的內容,然後讀取新的輸入行,不會建立多行模式空間

舉例:[root@mby /home/sysadmin/zhaoyj]# cat test.txt

aaa operator

guide bbb

[root@mby /home/sysadmin/zhaoyj]# sed '/operator$/' test.txt

aniya bbb

如果這麼寫的話,看看有何變化

[root@mby /home/sysadmin/zhaoyj]# sed '/operator$/' test.txt

aniya

bbb原因是我們不能使用/n在替換字元中插入換行符,必須使用反斜槓轉義換行符

看看這個錯誤的換行方法:

[root@mby /home/sysadmin/zhaoyj]# sed '/operator$/' test.txt

aniyanbbb

[root@mby /home/sysadmin/zhaoyj]# cat test.txt

1111

2222

3333

4444

合併上下兩行

[root@mby /home/sysadmin/zhaoyj]# sed '$!n;s//n/ /' test.txt

1111 2222

3333 4444

合併匹配模式與它的下一行

[root@mby /home/sysadmin/zhaoyj]# sed '/2/' test.txt

1111

2222 3333

4444

合併所有行

[root@mby /home/sysadmin/zhaoyj]# sed ':a;n;s//n//t/;ba;' test1

1 2 3 4

SED高階編輯命令

sed編輯器被稱作流編輯器 stream editor 流編輯器會在編輯器處理資料之前基於預先提供的一組規則來編輯資料流。sed編輯器可以根據命令來處理資料流中的資料,這些命令要麼從命令列中輸入,要麼儲存在乙個命令文字檔案中,並且sed支援正規表示式和擴充套件正規表示式的使用,這也大大提公升了其的實...

sed 命令的高階用法

d 刪除 p 顯示模式空間的內容 a text 在行後面追加文字 支援使用 n實現多行追加 i text 在行前面插入文字 支援使用 n實現多行插入 c text 替換行為單行或多行文字 w path to somefile 儲存模式空間匹配到的行至指定檔案中 r path from somefil...

Linux高階運維命令(sed)

sed是乙個很好的檔案處理工具,本身是乙個管道命令,主要是以行為單位進行處理,可以將資料行進行替換 刪除 新增 選取等特定工作。sed命令列格式為 sed nefri command 輸入文字sed n 2000,p fname lesssed n 2016 06 09 p catalina.out...