在Linux中使用Sed命令的快速指南

Linux sed命令介紹

Linux操作系統利用終端命令來處理計算機的文件系統。 Linux命令sed (主要用於流編輯器)的主要用途是通過替換該行的指定部分來修改文件或流的每一行。 它對文件或管道輸入進行基本文本更改。 例如,假設您有一個名為“songs.text”的文件,其中包含以下行:

1,Justin Timberlake,標題545,售價$ 6.30 2,Taylor Swift,標題723,售價7.90美元3,Mick Jagger,標題610,售價7.90美元4,Lady Gaga,標題118,售價$ 6.30 5,Johnny Cash,標題482,售價$ 6.50 6,埃爾維斯普雷斯利,標題335,價格$ 6.30 7,約翰列儂,標題271,價格$ 7.90

使用Sed進行文本替換

如果您想要將所有價格變動從6.30美元改為7.30美元,您可以通過以下方式使用sed命令進行更改:

sed's / 6.30 / 7.30 /'songs.txt> songs2.txt

此代碼進行更改並將修改後的文件寫入“songs2.txt”。 輸出文件包含:

1,Justin Timberlake,標題545,售價$ 7.30 2,Taylor Swift,標題723,售價$ 7.90 3,Mick Jagger,標題610,售價7.90美元4,Lady Gaga,標題118,售價$ 7.30 5,Johnny Cash,標題482,售價$ 6.50 6,Elvis Presley,標題335,售價$ 7.30 7,John Lennon,標題271,售價$ 7.90

如果你想用“垃圾桶”替換所有的“現金”,你可以使用:

sed's / Cash / Trash /'songs.txt> songs2.txt

它創建一個包含內容的文件:

1,Justin Timberlake,Title 545,售價$ 7:30 2,Taylor Swift,Title 723,售價7.90美元3,Mick Jagger,標題610,售價7.90美元4,Lady Gaga,標題118,售價7美元30 5,Johnny Trash,Title 482,售價$ 6.50 6,Elvis Presley,標題335,售價$ 7:30 7,John Lennon,標題271,售價$ 7.90

使用Sed命令進行過濾

Sed也經常用於過濾文件或流中的行。 例如,如果您只想查看包含“John”的行,則可以使用:

sed -n'/ John / p'songs.txt> johns.txt

它將以下幾行寫入文件johns.txt中:

5,Johnny Trash,標題482,售價$ 6.50 7,John Lennon,標題271,售價$ 7.90