如何使用sed命令替换文件中两个单引号之间的文本?



我们有一个文件:Address.txt

Address.txt

Name = John
Initial = 'J'
Phone = 123-456-789
Home = '1234 North Street'
Work = '5678 South Street'

如何使用sed命令或任何其他终端命令替换特定两个'标记之间的文本?

例如,将Address.txt更改为:

Name = John
Initial = 'J'
Phone = 123-456-789
Home = '147 East Avenue'
Work = '5678 South Street'

更新1:我想更改以Home =开头的行中的信息Home =后的信息不固定。它可以是任何东西。例如,'Hello',None',甚至''(无)。

在上面的例子中,你可以这样做:

sed "/^Home/s/'[^']*'/'147 East Avenue'/" Address.txt

/Home/匹配感兴趣的行,s//命令替换两个单引号之间的所有内容,包括引号本身。如果您想编辑文件,请将sed更改为sed -i

相关内容

  • 没有找到相关文章

最新更新