dbからの変数にいくつかのSQLクエリを読み込んでいて、改行文字(\ n)が含まれています。 \ n(改行)をスペースで置き換えたい。私はインターネット上で提供されるソリューションを試みたが、私が望むものを達成するのに失敗した。ここでは試したものです: n(改行)をbashの空白に置き換えます。
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'`;
私が何かウォンをやってんだろうか?スペースですべての文字列に\n
を交換し
nw_strr="${strr//$'\n'/ }"
を::
は、スペースですべての改行を交換します。bashで
'「$ strr' doesnの改行を含んでいれば、それは文字通りのバックスラッシュ-Nシーケンスを含んでいます。適切な改行を得るには、 'strr = $ 'my \ nname \ nis \ nxxxx'を試してください。 –