如何防止sed添加新的行char

时间:2018-02-15 16:47:38

标签: bash shell sed

我的shell脚本的一部分和变量

-d [% nameoffile %]_pathName
 foldername=BOM_details # its just a folder name containing bill of materials

我需要用BOM_details替换[%nameoffile%]

我成功尝试了

sed -i "s/\[\% nameoffile\%\]/$foldername/g" $filename

但问题是在更换

后立即添加新行

我得到了什么

-d BOM_details
_pathName

我需要的是

-d BOM_details_pathName

1 个答案:

答案 0 :(得分:1)

假设变量foldername在字符串末尾包含换行符或回车符(如何初始化此变量?),可以使用以下语法将其删除:

sed -i "s/\[\% nameoffile\%\]/${foldername//[$'\r\n']}/g" $filename