sed在Unix中替换变量字符串ksh

时间:2016-09-08 09:24:39

标签: sed ksh

我的一个文件abc.txt包含以下路径作为其中一行。

/lz/BEN_BOB.success

将被替换如下

/lz/BEN_B.success

我在运行时生成这些名称,因此存储在变量中,如下所示。

SUCCESS_FILE=/lz/BEN_BOB.success
NEW_SUCCESS_FILE=/lz/BEN_B.success

我使用以下命令替换但无法正常工作。

cat abc.txt | sed "s/$SUCCESS_FILE/$NEW_SUCCESS_FILE/g".

是因为变量中有/符号吗?

如前所述,它位于korn shell中。

1 个答案:

答案 0 :(得分:1)

您可以在sed命令中使用其他分隔符(例如|代替/):

sed "s|$SUCCESS_FILE|$NEW_SUCCESS_FILE|g" abc.txt