我们有一个文件: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
。