Linux學習14 文字處理工具sed

2021-08-24 17:58:14 字數 1327 閱讀 1303

stream editor,行編輯器

sed是一種流編輯器,它一次處理一行內容。處理時,把當前的行儲存在臨時緩衝區,稱為「模式空間」(pattern space),接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。然後讀入下行,執行下乙個迴圈。如果沒有使諸如「d」的特殊命令,那會在兩個迴圈之間清空模式空間,但不會清空保留空間,這樣不斷重複,直到檔案末尾。檔案內容並沒有改變,除非你使用重定向儲存輸出。

功能

主要用來自動編輯乙個或多個檔案,簡化對檔案的反覆操作,編寫轉換程式等 ,使用時最好先備份。

格式:sed [option]… {script} inputfile…

選項:

例如:#sed   'p'  passwd

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

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

ps:預設sed會列印輸出到螢幕,所以會出現重複2行,加上-n可以不輸出模式空間的內容到螢幕

例如:    nl passwd|sed -n '$p'   

行號==> 54 2:x:1013:1015::/home/2:/bin/bash

/pattern/:被此處模式(正規表示式)所能匹配的每一行

例如:取磁碟使用率

#df|sed -n '\\/sda\p'

/dev/sda2 52403200 4337284 48065916 9% /

/dev/sda3 31441920 45292 31396628 1% /data

/dev/sda1 1038336 157968 880368 16% /boot

當表示式引用變數是要使用雙引號或三個單引號來喚醒。

例:sed -r 「s/(grub)/\1_id

/」/e

tc/d

efau

lt/g

rub<==雙

引號se

d−r『

s/(g

rub)

/\1′」

i d/

」/et

c/de

faul

t/gr

ub

<==雙引

號sed

−r『s

/(gr

ub)/

\1」

′id」』/』 /etc/default/grub<==三個單引號

6文字處理工具

1 grep命令 i 忽略大小寫 n 顯示結果所在行的行號 c 結果個數 v 反向過濾 r 關鍵字 目錄 在目錄中過濾含有關鍵字的檔案 e 關鍵字1 關鍵字2 過濾多個關鍵字 root localhost cp etc passwd root localhost ls file filegreat ...

011 文字處理工具

cat b acl.txt 刪除空行標註行號 cat n acl.txt 統計所有行 cat ns acl.txt 壓縮空行,跟整體保持一致 cat a acl.txt 顯示所有控制符 tac acl.txt 反向顯示內容 cat顛倒了 rev f2.log 在同一行裡反寫 more anacond...

3 2 文字處理工具

全域性搜尋表示式 命令grep root file 過濾root關鍵字 貪婪模式 grep root file 過濾以root開頭的關鍵字 grep root file 過濾以root結尾的關鍵字 grep i root file 忽略大小寫 grep e root字元之前不能有字元 grep e ...