Ich verstehe folgendes Beispiel nicht: var="φθινόπωρο,κισσός,Φύλλο" # wandle in Kleinbuchstaben und ersetze , durch _ echo "$var" | sed -e 's/.*/\L&/' -e 's/,/_/g' φθινόπωρο_κισσός_φύλλο echo "$var" | sed -e 's/.*/\L&/' -e 's/,/_/g' | tr '_' '\n' | sort -u κισσός φθινόπωρο φύλλο Also genau wie gewünscht # -f, --ignore-case ist zwar wegen "L&" redundant, aber schaden sollte es nicht echo "$var" | sed -e 's/.*/\L&/' -e 's/,/_/g' | tr '_' '\n' | sort -f -u κισσός φθινόπωρο φύλλο Und nun zu meiner Frage. Warum wird mit -i nur mehr das 1. Wort angezeigt? -i, --ignore-nonprinting consider only printable characters echo "$var" | sed -e 's/.*/\L&/' -e 's/,/_/g' | tr '_' '\n' | sort -f -i -u φθινόπωρο Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am 13.06.2011 um 15:28 schrieb Al Bogner:
Ich verstehe folgendes Beispiel nicht:
var="φθινόπωρο,κισσός,Φύλλο"
Ἄνδρα μοι ἔννεπε, Μοῦσα, [...] ὃς evtl. mal mit LC_* und/oder stty 'rumspielen sollte ;-) Rainer -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 13 Jun 2011, Al Bogner schrieb:
echo "$var" | sed -e 's/.*/\L&/' -e 's/,/_/g' | tr '_' '\n' | sort -f -u ???????????? ?????????????????? ??????????
Und nun zu meiner Frage. Warum wird mit -i nur mehr das 1. Wort angezeigt?
-i, --ignore-nonprinting consider only printable characters
echo "$var" | sed -e 's/.*/\L&/' -e 's/,/_/g' | tr '_' '\n' | sort -f -i -u ??????????????????
Also sed sieht deinen Text komplett als 'printable' an, dürfte ein Bug in sort sein. -dnh -- Bitte beachten Sie auch die Rückseite dieses Schreibens! -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Di, 14 Jun 2011 21:38:05 CEST schrieb David Haller:
Hallo,
Am Mon, 13 Jun 2011, Al Bogner schrieb:
echo "$var" | sed -e 's/.*/\L&/' -e 's/,/_/g' | tr '_' '\n' | sort -f -u ???????????? ?????????????????? ??????????
Und nun zu meiner Frage. Warum wird mit -i nur mehr das 1. Wort angezeigt?
-i, --ignore-nonprinting consider only printable characters
echo "$var" | sed -e 's/.*/\L&/' -e 's/,/_/g' | tr '_' '\n' | sort -f -i -u ??????????????????
Also sed sieht deinen Text komplett als 'printable' an, dürfte ein Bug in sort sein.
Hallo David, ist nicht so tragisch, lasse ich eben -i weg, das war sowieso nur als Vorsichtsmaßnahme gedacht, falls so was mal vorkommen sollte. Al PS: PM vom Thu, 9 Jun 2011 15:31:22 +0200 erhalten? Kann ich die Files am Server wieder löschen? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* Al Bogner (suse-linux@ml082.pinguin.uni.cc) [20110615 13:28]:
ist nicht so tragisch, lasse ich eben -i weg, das war sowieso nur als Vorsichtsmaßnahme gedacht, falls so was mal vorkommen sollte.
Es wäre nett, wenn Du eine Mail auf englisch an bug-coreutils@gnu.org schickst in der Du das Problem beschreibst. Dann haben die Coreutils-Entwickler eine Chance, einen eventuellen Bug zu beheben. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mi, 15 Jun 2011 15:00:52 CEST schrieb Philipp Thomas:
* Al Bogner (suse-linux@ml082.pinguin.uni.cc) [20110615 13:28]:
ist nicht so tragisch, lasse ich eben -i weg, das war sowieso nur als Vorsichtsmaßnahme gedacht, falls so was mal vorkommen sollte.
Es wäre nett, wenn Du eine Mail auf englisch an bug-coreutils@gnu.org schickst in der Du das Problem beschreibst. Dann haben die Coreutils-Entwickler eine Chance, einen eventuellen Bug zu beheben.
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8871 Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Wed, 15 Jun 2011 19:20:29 +0200, Al Bogner
und Du hast ja auch eine erklährende Antwort bekommen. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mi, 15 Jun 2011 22:22:55 CEST schrieb Philipp Thomas:
On Wed, 15 Jun 2011 19:20:29 +0200, Al Bogner
wrote: und Du hast ja auch eine erklährende Antwort bekommen.
Ja, obwohl ich es nicht ganz nachvollziehen kann, warum das so ist. http://debbugs.gnu.org/cgi/bugreport.cgi?msg=8;att=0;bug=8871 Wenn man so will, ist es also kein Bug, sondern ein Feature. However, most likely this is not a bug in sort, but a misunderstanding on your part about how locales affect which bytes (or byte sequences, in multi-byte locales) are deemed printable. Ich sage es mal aus der Sicht eines Users, griechische Zeichen sind für mich grundsätzlich "printable", im Gegensatz zu zB Druckersteuerzeichen. When all of the bytes are ignored as non-printable, then all three lines are identical, hence -u prints only one line. Aber ok, es ist kein Problem für mich, ich lasse einfach -i weg und habe was dazu gelernt. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Wed, 15 Jun 2011 22:46:43 +0200, Al Bogner
Ich sage es mal aus der Sicht eines Users, griechische Zeichen sind für mich grundsätzlich "printable", im Gegensatz zu zB Druckersteuerzeichen.
Willkommen in der Welt der locales, wie sie sich die zuständigen Standardisierungsgremien ausgedacht haben. Die Definitionen, was für eine jeweilige locale als druckbares Zeichen gilt *muss* sich zwangsläufig unterscheiden. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mi, 15 Jun 2011 23:50:03 CEST schrieb Philipp Thomas:
On Wed, 15 Jun 2011 22:46:43 +0200, Al Bogner
wrote: Ich sage es mal aus der Sicht eines Users, griechische Zeichen sind für mich grundsätzlich "printable", im Gegensatz zu zB Druckersteuerzeichen.
Willkommen in der Welt der locales, wie sie sich die zuständigen Standardisierungsgremien ausgedacht haben. Die Definitionen, was für eine jeweilige locale als druckbares Zeichen gilt *muss* sich zwangsläufig unterscheiden.
Na ja, ich sehe es so, die Welt besteht aus mehr Zeichen als US-ASCII, deswegen gibt es ja UTF-8, etc. Wenn mein System also LANG=de_DE.UTF-8 verwendet, dann gehe ich davon aus, dass griechische Zeichen richtig sortiert werden und "printable" sind und da nicht eine Definition reinpfuscht, die es einmal "printable" macht und einmal "non-printable". Was außerhalb von UTF-8 ist, darf Probleme machen, weil es sich unterscheidet. Ich zitiere vom Bugreport: Factor into this mess the fact that upstream coreutils still lacks decent multi-byte handling in a lot of utilities. Various distros have add-on patches for better wchar_t handling, but as of yet they have not been consolidated into something that is easily maintainable and adds no overhead to the single-byte C locale situation. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu, 16 Jun 2011 00:24:23 +0200, Al Bogner
Various distros have add-on patches for better wchar_t handling,
und openSUSE gehört dazu, sowie zumindest RH/Fedora und Arch Linux. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Al! On Mi, 15 Jun 2011, Al Bogner wrote:
However, most likely this is not a bug in sort, but a misunderstanding on your part about how locales affect which bytes (or byte sequences, in multi-byte locales) are deemed printable.
Ich sage es mal aus der Sicht eines Users, griechische Zeichen sind für mich grundsätzlich "printable", im Gegensatz zu zB Druckersteuerzeichen.
When all of the bytes are ignored as non-printable, then all three lines are identical, hence -u prints only one line.
Aber ok, es ist kein Problem für mich, ich lasse einfach -i weg und habe was dazu gelernt.
Wenn ich den Bug Report richtig verstehe, sollte es doch reichen, einfach ein LC_ALL=de_DE.UTF-8 vor sort zu packen: ,---- | Then adding -i: | | $ echo "$var" | LC_ALL=en_US.UTF-8 sort --debug -fui | sort: using `en_US.UTF-8' sorting rules | κισσός | ______ | φθινόπωρο | _________ | Φύλλο | _____ `---- LC_ALL=C willst Du ja sowieso nicht mit deinen multibyte characters. Was hast Du denn für eine locale, bzw. zeig mal den Output von locale Mit freundlichen Grüßen Christian -- Der Bauer wird so langsam pampig, wenn seine Magd sich gibt so schlampig. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Do, 16 Jun 2011 10:06:36 CEST schrieb Christian Brabandt:
Wenn ich den Bug Report richtig verstehe, sollte es doch reichen, einfach ein LC_ALL=de_DE.UTF-8 vor sort zu packen:
Theoretisch ja, es ist eine Frage der Version von sort. sort --version sort (GNU coreutils) 8.9 Also unter 11.4 passt es, auch ohne LC_ALL vor sort. Mit Version 8.5 funktioniert es nicht. Da ich verschiedene Versionen auf verschiedenen Rechnern verwende, ist mir das nicht gleich aufgefallen. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* Al Bogner (suse-linux@ml082.pinguin.uni.cc) [20110618 15:50]:
Mit Version 8.5 funktioniert es nicht.
Welche oS version ist das? Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mo, 20 Jun 2011 18:45:23 CEST schrieb Philipp Thomas:
* Al Bogner (suse-linux@ml082.pinguin.uni.cc) [20110618 15:50]:
Mit Version 8.5 funktioniert es nicht.
Welche oS version ist das?
Ich habe in letzter Zeit einige 11.2 und 11.3 Rechner auf 11.4 umgestellt und kann daher nicht mehr genau sagen, was da zum Schluß installiert war, bei dem ich das Problem bemerkte, vermutlich was >= 7.1. Die 8.5 bezieht sich nicht auf einen Suse-Rechner. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu, 16 Jun 2011 10:06:36 +0200, Christian Brabandt
Wenn ich den Bug Report richtig verstehe, sollte es doch reichen, einfach ein LC_ALL=de_DE.UTF-8 vor sort zu packen:
Was nicht nötig ist, da alle wichtigen Umgebungsvariablen gesetzt sein sollten, wie man sich an der Ausgabe von locale überzeugen kann. LC_ALL willst Du übrigens so gut wie nie setzen, da es alle abweichenden Einstellungen für einzelne Bestandteile der Locale überschreibt. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Al Bogner
-
Christian Brabandt
-
David Haller
-
Philipp Thomas
-
Philipp Thomas
-
Rainer Sokoll