sed -e expression #1, char 62: unknow option to s
时间: 2024-03-02 18:54:22 浏览: 191
这个错误是因为 sed 命令中的替换字符 `/` 被误认为是结束符,导致命令无法正确解析。可以尝试将替换字符 `/` 改成其他字符,例如使用 `#` 作为替换字符:
```
sed -e 's#old#new#g' filename
```
如果你使用的是变量,也需要将 `/` 替换成其他字符:
```
sed -e "s#old#$var#g" filename
```
这样就不会出现上述的错误了。
相关问题
sed -e expression #1,char7:unknown option to s
这个错误通常是由于 `sed` 命令中的分隔符未正确指定导致的。在 `s` 命令中,分隔符可以是除了反斜杠(`\`)和换行符之外的任何字符。
常见的分隔符是斜杠 (`/`),但如果你的替换字符串中包含斜杠,那么你可以选择其他字符作为分隔符。例如,你可以使用井号 (`#`) 作为分隔符:
```
sed -e 's#old_string#new_string#g' file.txt
```
如果你仍然遇到问题,请确保分隔符正确设置,并检查表达式中是否有其他语法错误。如果可能,请提供更多的命令和上下文,以便我能够更好地帮助你解决问题。
sed: -e expression #1, char 13: unknown option to `s'
如果你在使用 sed 命令时出现了 "sed: -e expression #1, char 13: unknown option to `s'" 这样的错误提示,通常是因为替换字符串中包含了 sed 命令中使用的分隔符(默认为斜杠 /)。
解决这个问题的方法是,将替换字符串中的分隔符改为其他字符,比如 #:
```
sed 's#test#example#g' test.txt
```
这样就可以避免分隔符冲突的问题了。如果你还是需要使用斜杠作为分隔符,可以使用反斜杠对其进行转义:
```
sed 's/test\/123\/456/example\/789\/012/g' test.txt
```
这样就可以将 test/123/456 替换为 example/789/012 了。
阅读全文