在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