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

エコーで一重引用符を使用します。そうでない場合、\ n\rはブレークラインになります

于 2013-03-02T12:33:32.433 に答える
0

これは、mysql 列の内容によって異なります。

キャリッジ リターンとラインフィードのペアの場合、端末はこれらの文字を適切に解釈しています。\いずれにせよエスケープ シーケンスとして表示する場合は、文字、rまたは\およびnそれぞれに置き換えることができます。

文字列にリテラル\r\n、つまり\r\およびnの 4 文字がある場合は、次のように解釈を無効にしてみてください。-E

echo -E "$fieldA"
于 2013-03-02T13:06:23.173 に答える