【发布时间】:2013-07-18 17:39:20
【问题描述】:
我有一种情况,我想使用 sed 替换文件中的多行文本。 搜索文本为:
Enable=Yes
UseTest=No
UseTempS=No
UseStatic=No
IPAddress=
SubnetMask=
DefaultGateway=
而要替换的文字是
Enable=No
UseTest=No
UseTempS=No
UseStatic=No
IPAddress=0.0.0.0
SubnetMask=255.255.255.0
DefaultGateway=1.1.1.1
任何帮助将不胜感激。
【问题讨论】:
-
基本的 sed 替换命令是
sed 's/input/output/g' file。尝试一下,我们可以帮助您解决可能遇到的问题。 -
另一个选项(如果它符合您的要求)是,您从文件中删除整个块,并读取替换的文件内容。与
r。即不是行替换,而是块替换。无论如何,弄脏你的手是第一步。 -
但是文本中如何有新行.. 如何在输入和输出中放置新行符号,将其作为输入不起作用 Enable=Yes\nUseStatic=No\nUseTempS=否\nUseStaticWINS=否\nIPAddress=\nSubnetMask=\nDefaultGateway=
-
不要尝试逐行替换整块替换。
标签: sed