Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Newline und Tab in Abfrage

4 views
Skip to first unread message
Message has been deleted

Volker Englisch

unread,
Mar 8, 2013, 4:32:42 AM3/8/13
to
Am 08.03.13 schrieb Volker 'Ingrid' Englisch:
> Macht MySQL nach dem '\n' automatisch einen Tab, und wenn ja, gibts
> eine M�glichkeitm, diesen zu unterdr�cken?

Ich hab mir vorl�ufig damit beholfen, die Ausgabe von mysql zu parsen
und in jeder dritten Zeile den ersten Tab wegzuwerfen.

Vielleicht gehts aber auch einfacher...?

Volker

Thomas Rachel

unread,
Mar 8, 2013, 5:20:29 AM3/8/13
to

> Das Resultat (Ausschnitt) so:
>
> Nr Wer Datum Zeit KZ
> -------------------------------------------------------------------
> 6 Volker 07.03.2013 14:00 0
> SEPA-Besprechung
> -------------------------------------------------------------------
>
> Wo kommt der Tab am Anfang der zweiten und dritten Ausgabezeile her?

Ich nehme an, von der -s:

-s, --silent Be more silent. Print results with a tab as
separator,
each row on new line.


'\n' ist ja einfach nr ein Feld, das ausgegeben wird, und nach dem ein
weiteres Feld ausgegeben wird, das von dem ersten durch ein Tab getrennt
ist.

Ich verwende in solchen Fällen meistens -NB, das wirft mir ebenfalls die
Header weg, separiert die Spalten mit Tabs und gibt die Sonderzeichen
\-gequotet aus. Das würde aber erfordern, die Formatierung ins
Shellskript verlagern. Wird blöd bei variierenden Spaltenreiten.

Ansonsten könntest Du noch die \n durch \nX ersetzen und dann alle X\t
am Zeilenanfang eliminieren. (sed)

> In der zweiten Zeile ist der Effekt ja sinnvoll, aber die dritte Zeile
> (Trennstriche) sollte in Spalte 1 beginnen...

Ach so, das vereinfacht die Sache.

Ersetze einfach '\n', '-----' durch '\n-----'. Dann ist es ein Feld und
es schießt kein TAB quer.


Thomas

Claus Reibenstein

unread,
Mar 8, 2013, 6:40:47 AM3/8/13
to
Volker Englisch schrieb:

> '\n', \
> Text, \
> '\n', \
> '-------------------------------------------------------------------' \

Mach hieraus mal:

'\n' + Text,
'\n------------',

Und lass diese vielen Backslashes am Zeilenende weg. Die sind weitgehend
ᅵberflᅵssig.

> Wo kommt der Tab am Anfang der zweiten und dritten Ausgabezeile her?

Du meinst sicher 4. und 5. Ausgabezeile ;-)

Die Tabs kommen daher, dass die Spalten durch Tabs getrennt werden. Auch
'\n' ist einfach nur ein (konstanter) Spaltenwert, der eben in Tabs
eingeschlossen wird. Wenn Du genau hinschaust, wirst Du nᅵmlich
feststellen, dass in der Ausgabe noch viel mehr Tabs drin sind.
Insbesondere befindet sich auch am Ende der 3. und 4. Zeile jeweils ein Tab.

> Macht MySQL nach dem '\n' automatisch einen Tab, und wenn ja, gibts
> eine Mᅵglichkeitm, diesen zu unterdrᅵcken?

S.o.

Gruᅵ
Claus

Claus Reibenstein

unread,
Mar 8, 2013, 6:58:03 AM3/8/13
to
Ingrid schrieb:

Blᅵdsinn:

> '\n' + Text,

Muss so aussehen:

CONCAT('\n', Text),

Gruᅵ
Claus

Volker Englisch

unread,
Mar 9, 2013, 12:39:28 PM3/9/13
to
Am 08.03.13 schrieb Thomas Rachel:
> Ersetze einfach '\n', '-----' durch '\n-----'. Dann ist es ein Feld und
> es schie�t kein TAB quer.

Danke! So einfach kann die Welt sein ;-)

Volker

Volker Englisch

unread,
Mar 9, 2013, 12:36:57 PM3/9/13
to
Am 08.03.13 schrieb Claus Reibenstein:
> Volker Englisch schrieb:
>
> Und lass diese vielen Backslashes am Zeilenende weg. Die sind weitgehend
> überflüssig.

Okay, war das immer schon so? Dann habe ich es immer schon falsch
gemacht ;-(

Volker

Claus Reibenstein

unread,
Mar 9, 2013, 12:54:22 PM3/9/13
to
Volker Englisch schrieb:

> Am 08.03.13 schrieb Claus Reibenstein:
>
>> Und lass diese vielen Backslashes am Zeilenende weg. Die sind weitgehend
>> überflüssig.
>
> Okay, war das immer schon so? Dann habe ich es immer schon falsch
> gemacht ;-(

Es ist nicht falsch. Es ist nur überflüssig bei Argumenten, die in
Anführungsstrichen stehen und über mehrere Zeilen gehen, weil die Shell
auf die schließenden Anführungsstriche wartet. Und ja, das war schon
immer so.

Gruß
Claus
0 new messages