在 bash 中用 space 替换 \n(新行)

Replace \n(new line) with space in bash

我正在将一些 sql 查询读入数据库中的变量,它包含换行符 (\n)。我想用 space 替换 \n(新行)。我尝试了互联网上提供的解决方案,但没有成功实现我想要的。这是尝试过的:

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

我想要的输出是 "my name is xxxx" 但我得到的是 "my\nname\nis\nxxxx"。我也试过互联网上提供的其他解决方案,但没有成功:

nw_strr=`echo $strr | sed ':a;N;$!ba;s/\n/ /g'`;

我在做什么吗?

与bash:

用 space 替换所有换行符:

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

将所有字符串 \n 替换为 space:

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