0

我有个问题。

这是我的 bash 脚本:

while read fieldA
do
  echo "$fieldA"
done < <(mysql --user root -proot test -Bse "SELECT description From Object LIMIT 1

回声:

"Kościół z 1938 roku. Powstał ku czci żołnierzy niemieckich poległych w czasie I Wojny Światowej. Szczyt frontonu zdobiły trzy postacie: św. Brunona, krzyżaka i ninPo wojnie postacie te zatynkowano. W latach 70-tych w tym miejscu umieszczono mozaikę przedstawiającą Św. Brunona w otoczeniu atakujących go wojowników pruskich."

但是在mysql中这个文本是:

'Kościół z 1938 roku. Powstał ku czci żołnierzy niemieckich poległych w czasie I Wojny Światowej. Szczyt frontonu zdobiły trzy postacie: św. Brunona, krzyżaka i niemieckiego żołnierza z karabinem w ręku.\r\n\r\nPo wojnie postacie te zatynkowano. W latach 70-tych w tym miejscu umieszczono mozaikę przedstawiającą Św. Brunona w otoczeniu atakujących go wojowników pruskich.'

我认为问题在于“\r\n\r\n”

我想在 ECHO 中拥有与 mysql 相同的文本(所有 \r\n\r\n.

请帮我。

4

2 回答 2

0

在 echo 中使用单引号,否则 \n\r 将是断行

于 2013-03-02T12:33:32.433 回答
0

这取决于您在 mysql 列中的内容。

如果是回车换行对,则终端已经正确解释了这些字符。如果您想将它们显示为转义序列,您可以分别用字符\r\替换它们n

如果您的字符串中有文字\r\n,即四个字符\,和r,那么您可以尝试禁用解释\n-E

echo -E "$fieldA"
于 2013-03-02T13:06:23.173 回答