用斜杠替换斜杠'斜杠'在Korn shell脚本中

时间:2014-04-02 06:04:33

标签: c shell unix ksh

我使用while循环逐行读取文件,例如,如果文件包含如下行:

ABC.///.AB_SWift_ABC

我需要用

替换它
ABC.slashslashslash.AB_SWift_ABC

如何使用Korn shell进行此操作?

3 个答案:

答案 0 :(得分:0)

如果您使用bash,则可以使用变量子串替换功能。

>> a=ABC.///.AB_SWift_ABC
>> echo $a
ABC.///.AB_SWift_ABC
>> echo ${a//\//slash}
ABC.slashslashslash.AB_SWift_ABC

答案 1 :(得分:0)

你为什么一行一行地阅读?简单地在文件上运行sed会更快:

sed 's%/%slash%g'

如果您必须在Bash中执行此操作,请使用替换shell parameter expansion

${line//\//slash}

你提到反斜杠但使用正斜杠,这令人困惑。如果,你的意思是反斜杠,那么:

sed 's/\\/slash/g'
${lines//\\/slash}

答案 2 :(得分:0)

c中,您可以使用bash命令将/替换为slash,如

char cmd[]="sed -i 's|/|slash|g' file";
system(cmd);

因此不需要逐行读取文件。