从mysql中删除echo中的文本

时间:2013-03-02 12:27:58

标签: mysql bash

我有一个问题。

这是我的bash脚本:

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

Echo:

"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。

请帮帮我。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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

解释
echo -E "$fieldA"