八 Linux三劍客之sed

2022-05-06 18:57:10 字數 1749 閱讀 9763

處理文字檔案的命令

引數說明

動作說明

c :取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!

d :刪除,d 後面通常不接任何字串;

p :列印,將某個選擇的資料印出。通常 p 會與引數 sed -n 一起使用

s :取代,搭配正規使用,例如 1,20s/old/new/g

案例在testfile檔案的第四行後新增一行,-e引數可省略

[root@tz shell]# sed -e 4a\newline testfile

hello linux!

linux is a free unix-type opterating system.

this is a linux testfile!

linux test

newline

刪除2~5行

[root@tz shell]# nl /etc/passwd |sed '2,5d'

1 root:x:0:0:root:/root:/bin/bash

6 sync:x:5:0:sync:/sbin:/bin/sync

7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

8 halt:x:7:0:halt:/sbin:/sbin/halt

9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

刪除第二行

[root@tz shell]# nl /etc/passwd | sed '2d'

刪除第3行到最後一行

[root@tz shell]# nl /etc/passwd |sed '3,$d'

1 root:x:0:0:root:/root:/bin/bash

2 bin:x:1:1:bin:/bin:/sbin/nologin

第2行後插入drink tea

[root@tz shell]# nl /etc/passwd | sed '2a drink tea'

1 root:x:0:0:root:/root:/bin/bash

2 bin:x:1:1:bin:/bin:/sbin/nologin

drink tea

3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

第2行前插入drink tea

[root@tz shell]# nl /etc/passwd |sed '2i drink tea'

1 root:x:0:0:root:/root:/bin/bash

drink tea

2 bin:x:1:1:bin:/bin:/sbin/nologin

第2行增加兩行

[root@tz shell]# nl /etc/passwd | sed '2a drink tea or .....\

> drink beer ?'

1 root:x:0:0:root:/root:/bin/bash

2 bin:x:1:1:bin:/bin:/sbin/nologin

drink tea or .....

drink beer ?

3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

學習來自菜鳥教程

Linux三劍客之sed實戰

sed是linux中一種流編輯器,是文字處理非常有力的工具,支援將資料進行替換 刪除 新增 選取等功能。首先將決定選取哪些行進行編輯,規則可以是數字 正規表示式等,若沒有限制,則將處理輸入檔案的所有行。在處理時,將當前行儲存在臨時快取區中,稱為 模式空間 然後使用sed指令處理緩衝區的內容,處理成功...

Linux 文字三劍客之 sed

linux 系統中一切皆檔案。檔案是個文字。可以讀 可以寫,如果是二進位制檔案,還能執行。在使用linux的時候,大都是要和各式各樣檔案打交道。熟悉文字的讀取 編輯 篩選就是linux系統管理員的必備技能 文字處理工具 grep awk sed,本篇主要講sed sed行編輯命令。用來將資料進行選取...

文字三劍客之sed

sed是一種流編輯器,能夠完美的配合正規表示式使用。處理時,把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 pattern space 接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案內容並沒有改變,除非你使用重定向儲存輸出。...