sed -i -e '61s/47.94.161.173/101.200.60.181/' -e '65s/streamgw/stream/' /apprun/jmt/perf/流媒体中台-云存生成-100w-c.jmx执行报错 sed: -e expression #2, char 19: unknown option to `s'
时间: 2023-09-23 15:04:08 浏览: 38
根据你提供的错误信息,可能是第二个 `-e` 参数中的替换命令中使用了未知的选项。请检查第二个替换命令,并确保使用了正确的替换分隔符。在 sed 命令中,通常使用 `/` 作为替换分隔符,如果替换内容中包含 `/`,则可以使用其他字符作为替换分隔符。例如,将替换分隔符设置为 `#`,则替换命令的格式应为 `s#pattern#replacement#`。请检查第二个替换命令并尝试更改替换分隔符以解决问题。
相关问题
sed -i -e '61s/47.94.161.173/101.200.60.181/' -e '65s/streamgw/stream/stream/' /apprun/jmt/perf/流媒体中台-云存生成-100w-c.jmx
这条命令是使用sed命令修改文件/apprun/jmt/perf/流媒体中台-云存生成-100w-c.jmx中的第61行和第65行。具体修改内容为:
1. 将第61行中的47.94.161.173替换为101.200.60.181。
2. 将第65行中的streamgw替换为stream。
其中,-i选项表示直接修改原始文件,-e选项表示执行多个命令。
sed -i s/..../g 特殊字符
sed -i s/..../g 是一个 sed 命令,用于替换文本中的特定字符。
其中的 "...." 是需要被替换的特殊字符的模式。在 Linux 中,特殊字符通常是由转义字符(\)紧跟着特定字符组成的。例如,如果要替换文本中的&字符,命令应该是 sed -i s/\&/g。
sed 是一个流编辑器,主要用于在文本中进行查找和替换操作。-i 选项表示直接修改输入文件,而不是将结果打印到终端。
s/..../g 是 sed 命令的替换指令,其中的 s 表示替换操作,/g 表示全局替换,即文本中所有匹配的地方都进行替换。
下面是一个例子来说明这个命令的用法:
假设有一个文本文件 file.txt,内容如下:
Hello World
This is a test.
The characters to be replaced are: ....
Another example.
执行命令:sed -i s/..../%/g file.txt
修改后的内容为:
Hello World
This is a test.
The characters to be replaced are: %%%%
Another example.
其中,"...." 被替换成了 "%%%%"。注意到 /g 选项确保了所有匹配到的 "...." 都被替换了。
这就是 sed -i s/..../g 特殊字符的含义和用法。