我的一个文件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中。
答案 0 :(得分:1)
您可以在sed命令中使用其他分隔符(例如|
代替/
):
sed "s|$SUCCESS_FILE|$NEW_SUCCESS_FILE|g" abc.txt