sed命令簡單使用示例分享

安全劍客發表於2020-05-15
sed是“stream editor”的縮寫,也就是流編輯器,它一次處理一行內容,處理時,把當前處理的行儲存在臨時緩衝區中,稱為“模式空間”(pattern space),接著用sed 處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案內容並沒有 改變,除非你使用重定向儲存輸出。

sed命令簡單使用示例分享sed命令簡單使用示例分享

使用Sed進行文字檔案更改的示例

假設您有一個名為linuxidc.com.txt的檔案,其中包含以下行:

  • 1, linux idc, Title 639, Price $9.30

  • 2, linuxidc ninhao, Title 761, Price $5.90

  • 3, linuxmi nihao, Title 880, Price $9.30

  • 4, linuxmi com, Title 198, Price $1.30

  • 5, Johnny Cash, Title 582, Price $6.50

  • 6, Elvis Presley, Title 370, Price $9.30

  • 7, John Lennon, Title 571, Price $8.90

  • 8, Michael Jackson, Title 673, Price $7.50

  • 9, linuxidc com, Title 585, Price $1.80

您想要將所有價格變動9.30美元更改為8.88美元。 為此,您可以透過以下方式使用sed命令:

linuxidc@Ubuntu:~/linuxidc.com$ sed 's/9.30/8.88/' linuxidc.com.txt > linuxidc.txt

此程式碼進行更改並將修改後的檔案儲存為linuxidc.txt。 生成的新檔案包含:

linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc.txt
1, linux idc, Title 639, Price $8.88
2, linuxidc ninhao, Title 761, Price $5.90
3, linuxmi nihao, Title 880, Price $8.88
4, linuxmi com, Title 198, Price $1.30
5, Johnny Cash, Title 582, Price $6.50
6, Elvis Presley, Title 370, Price $8.88
7, John Lennon, Title 571, Price $8.90
8, Michael Jackson, Title 673, Price $7.50
9, linuxidc com, Title 585, Price $1.80

sed命令簡單使用示例分享sed命令簡單使用示例分享

如果你想用“linuxidc”替換所有出現的“linuxmi”,你也可以用這種方式使用sed命令:

linuxidc@ubuntu:~/linuxidc.com$ sed 's/linuxmi/linuxidc/' linuxidc.com.txt > linuxidc.txt

生成的修改檔案linuxidc.txt將包含以下文字:

linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc.txt
1, linux idc, Title 639, Price $9.30
2, linuxidc ninhao, Title 761, Price $5.90
3, linuxidc nihao, Title 880, Price $9.30
4, linuxidc com, Title 198, Price $1.30
5, Johnny Cash, Title 582, Price $6.50
6, Elvis Presley, Title 370, Price $9.30
7, John Lennon, Title 571, Price $8.90
8, Michael Jackson, Title 673, Price $7.50
9, linuxidc com, Title 585, Price $1.80

sed命令簡單使用示例分享sed命令簡單使用示例分享

使用Sed命令過濾

Sed也經常用於過濾檔案中的行。 例如,如果您只想檢視包含“linuxidc”的行,則可以使用以下sed命令:

linuxidc@ubuntu:~/linuxidc.com$ sed -n '/linuxidc/p' linuxidc.com.txt > linuxidc.txt

新的linuxidc.txt檔案將包含以下行:

linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc.txt
2, linuxidc ninhao, Title 761, Price $5.90
9, linuxidc com, Title 585, Price $1.80

sed命令簡單使用示例分享sed命令簡單使用示例分享

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2692485/,如需轉載,請註明出處,否則將追究法律責任。

相關文章