PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (BASH) - MySQL Select - deformierte Ausgabe



syrius
26.10.2019, 11:07
Moinsen,

bei folgendem Select erhalte ich über Linux/bash eine "deformierte" Ausgabe... hätte es gern wie es in der Spalte steht 1:1


mysql -B -u ${mysql_user} -p${mysql_pass} -h ${mysql_host} ${mysql_db} -se "select pagetext from post where threadid = '${newid}' order by postid desc;" | head -n1

Inhalt:

Boeh, hätte nicht gedacht das noch einer von den Invite Codes funktioniert. :-)
Vielen Dank

Ausgabe:

\nVielen Dankicht gedacht das noch einer von den Invite Codes funktioniert. :-)

VG
Syrius

Nimbus
26.10.2019, 16:53
Klingt spontan ganz so, als wäre da von einem "\r\n" nur das "\r" interpretiert worden (das "\n" wurde einfach ausgegeben).
Wenn man den Cursor nur nach vorne bewegt ("\r"), aber dann keine neue Zeile beginnt ("\n"), dann schaut das so aus.

syrius
26.10.2019, 18:28
Danke @Nimbus, leider hilft mir das nicht weiter. Hast du vielleicht eine Idee wie ich den Inhalt 1:1 wie in der Spalte ausgegeben bekomme?

Nimbus
26.10.2019, 19:31
Nein, weiß ich leider nicht, daher nur der Tipp, woher so ein Verhalten vermutlich kommt.
Ich bin mir ehrlich gesagt nicht sicher, wo die Steuerzeichen herkommen und was sie genau zerpflückt.

Ich habe leider gerade keine vBulletin DB/Installation bequem zur Hand und kann das daher nicht ausprobieren.
Eventuell genügt es schon in der Ausgabe alle Vorkommen von "\r" zu ersetzen. Zum Beispiel in der MySQL-Abfrage oder vor der Ausgabe.
Eventuell funktioniert auch etwas wie SELECT INTO OUTFILE besser.

Gil Bades
29.10.2019, 22:02
Füg mal noch den Parameter -raw bzw. -r zu dem mysql command hinzu.
Das verhindert das escapen, führt uU. zum Ziel.


Regards andi