文字處理工具sed

2021-08-07 22:39:33 字數 2006 閱讀 9391

sed全稱叫stream editor,是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行儲存在臨時緩衝區中,稱為「模式空間」(patternspace),接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。然後讀入下行,執行下乙個迴圈。如果沒有使諸如『d』的特殊命令,那會在兩個迴圈之間清空模式空間,但不會清空保留空間。這樣不斷重複,直到檔案末尾。檔案內容並沒有改變,除非你使用重定向儲存輸出。主要用來自動編輯乙個或多個檔案,簡化對檔案的反覆操作,編寫轉換程式等。

sed: 模式空間

預設不編輯原檔案,僅對模式空間中的資料做處理;而後,處理結束後,將模式空間列印至螢幕;

sed [options] 'command'

file(s)

sed –n 『2p』 /etc/passwd    列印第二行內容

sed –n 『1,4p』 /etc/passwd 列印第一到第四行內容

sed –n 『/root/p』 /etc/passwd 列印

sed –n 『2,/root/p』 /etc/passwd 從2行開始

sed -n 『/^$/=』 file 顯示空行行號

sed –n –e 『/^$/p』 –e 『/^$/=』 file 同時執行多個文字

sed 『/root/a\superman』 /etc/passwd 在root所在行行後插入superman

sed 『/root/i\superman』 /etc/passwd 行前

sed 『/root/c\superman』 /etc/passwd 代替行

sed 『/^$/d』 file 刪除空白行

sed 『1,10d』 file 刪除1行到10行

nl /etc/passwd | sed 『2,5d』

nl /etc/passwd | sed 『2a tea』

sed 's/test/mytest/g' example

sed –n 『s/root/&superman/p』 /etc/passwd 單詞後

sed –n 『s/root/superman&/p』 /etc/passwd 單詞前

[[email protected]~]#sed -n "s/root/superman&/p" /etc/passwd

supermanroot:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/supermanroot:/sbin/nologin

1、刪除/etc/grub.conf檔案中行首的空白符;

sed -r 's@^[[:spapce:]]+@@g' /etc/grub.conf 如果沒有 / 可以用/d 來刪除

2、替換/etc/inittab檔案中"id:3:initdefault:"一行中的數字為5;

sed 's@\(id:\)[0-9]\(:initdefault:\)@\15\2@g' /etc/inittab

3、刪除/etc/inittab檔案中的空白行;

sed '/^$/d' /etc/inittab

4、刪除/etc/inittab檔案中開頭的#號;

sed 's@^#@@g' /etc/inittab

5、刪除某檔案中開頭的#號及後面的空白字元,但要求#號後面必須有空白字元;

sed -r 's@^#[[:space:]]+@@g' /etc/inittab

6、刪除某檔案中以空白字元後面跟#類的行中的開頭的空白字元及#

sed -r 's@^[[:space:]]+#@@g' /etc/inittab

7、取出乙個檔案路徑的目錄名稱;

echo

"/etc/rc.d/" | sed -r 's@^(/.*/)[^/]+/?@\1@g'

基名:echo "/etc/rc.d/" | sed -r 's@^/.*/([^/]+)/?@\1@g' [^/] 表示非/ 的字元 別看成/ 開頭的了!!

文字處理工具sed

1 刪除centos7系統 etc grub2.cfg檔案中所有以空白開頭的行行首的空白字元 sed d etc grub2.cfg 2 刪除 etc fstab檔案中所有以 開頭,後面至少跟乙個空白字元的行的行首的 和空白字元 sed r space d d etc fstab 包括空白行 sed...

linux文字處理工具之sed

sed 2,5d file顯示檔案file,除去2 5行,但行數超過檔案實際行數時不會報錯。sed 10 1 4 d file 顯示檔案file,除去包含101 104的行。sed 2,d file 顯示檔案,只顯示第一行。sed 2,d file則只顯示除第一行外的其它行。sed d file 刪...

linux文字處理工具sed 總結

cat file1 command sed,grep,awk,grep,etc.result.txt 合併乙個檔案的詳細說明文字,並將簡介寫入乙個新檔案中 cat file1 command sed,grep,awk,grep,etc.result.txt 合併乙個檔案的詳細說明文字,並將簡介寫入乙...