Bash 在linux中如何使用sed命令替换文件夹路径名?

Bash 在linux中如何使用sed命令替换文件夹路径名?,bash,sed,Bash,Sed,如何使用以下命令替换文件夹路径 sed -i "s/# pidfile: '/var/run/jboss-eap/jboss-eap.pid /# pidfile: '/var/run/jboss-eap/jboss-eap-aa.pid' /g" ks Error: sed: -e expression #1, char 20: unknown option to `s' 当我使用sed-I“s/sample/hi/g”sam.txt时,它工作正常,但上面提到的表达式引发未知异常。如何解

如何使用以下命令替换文件夹路径

sed -i "s/# pidfile: '/var/run/jboss-eap/jboss-eap.pid /# pidfile: '/var/run/jboss-eap/jboss-eap-aa.pid' /g" ks

Error:  sed: -e expression #1, char 20: unknown option to `s'

当我使用sed-I“s/sample/hi/g”sam.txt时,它工作正常,但上面提到的表达式引发未知异常。如何解决此错误?有什么想法吗?

您需要更改语句中的分隔符(
/
),因为它也在您的模式中

sed -i "s@# pidfile: '/var/run/jboss-eap/jboss-eap.pid @# pidfile: '/var/run/jboss-eap/jboss-eap-aa.pid' @g" ks

这里我用
@
替换了它,但您可以使用任何分隔符,只要它不是模式文本的一部分。

您的原始文本和要替换的文本是什么?这样不清楚