用bash中的空格替换\ n(新行)

时间:2016-08-29 05:02:44

标签: bash sed tr

我正在从db读取一些sql查询到变量,它包含换行符(\ n)。我想用空格替换\ n(新行)。我尝试过在互联网上提供的解决方案但是没有成功实现我想要的。这是尝试过:

strr="my\nname\nis\nxxxx";
nw_strr=`echo $strr | tr '\n' ' '`;
echo $nw_strr;

我想要的输出是"我的名字是xxxx"但我得到的是"我的\ nname \ nis \ nxxxx"。我也试过在互联网上提供的其他解决方案,但没有运气:

nw_strr=`echo $strr | sed ':a;N;$!ba;s/\n/ /g'`;
我正在做些什么吗?

1 个答案:

答案 0 :(得分:7)

使用bash:

用空格替换所有换行符:

nw_strr="${strr//$'\n'/ }"

用空格替换所有字符串\n

nw_strr="${strr//\\n/ }"