manfred.lotz(at)arcor.de wrote:
> Oliver Fromme wrote:
> > [...]
> > sort -t "
> > " -k 1.36,1.43
> >
> > Und weil das nicht so schön aussieht, kann man sich auch
> > vorher ein Newline in eine Variable packen und die dann
> > (evtl. mehrmals) benutzen:
> >
> > NL="
> > "
> >
> > sort -t "$NL" -k 1.36,1.43
>
> Sehr gut, danke. Ich hatte bisher '\n' versucht und war gescheitert. :-)
Backslash-Sequenzen werden von sort nicht geparst. Die
wenigsten UNIX-Tools tun das, und wenn, dann ist es aus-
drücklich in der Manpage dokumentiert.
> Wäre es genauso portabel statt dem newline ein Nullcharacter mitzugeben?
>
> Also: sort -t '\0' -k 1.36,1.43
Nein, die Sonderbehandlung von \0 ist ein Hack von GNU-sort
und nicht portabel.
> Natürlich darf dann in einer Zeile kein 0x00 auftauchen sonst gehts
> nicht.
Die meisten Tools, die mit zeilenorientierten Texten ar-
beiten, vertragen keine Nullbytes in der Eingabe, da die
üblichen String-Funktionen der C-Library Nullbytes zur
ennzeichnung des String-Endes verwenden. Insofern ist
es nicht abwegig, zu fordern bzw. davon auszugehen, dass
Textdateien keine Nullbytes enthalten dürfen.
Aber wie gesagt, »sort -t '\0'« ist nicht portabel. Unter
Solaris z.B. wird alles nach dem ersten Zeichen ignoriert,
d.h. er nimmt dann den Backslash '\' als Spaltenseparator.
Gruß
Olli
-- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd Perl is worse than Python because people wanted it worse. -- Larry Wall To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Thu 16 Aug 2007 - 17:32:36 CEST