Hi Al! On Do, 16 Sep 2010, Al Bogner wrote:
On Do, 16 Sep 2010, Al Bogner wrote: 100%ig ist es leider nicht, aber für mich ausreichend.
zB wird ß nicht in SS gewandelt.
Ah richtig. Mal als Bug eintüten? Rückwandeln wird aber nicht mehr funktionieren.
Kennst du andersrum auch eine Lösung mit der Bash bzw. sed, also
zB ÄFFCHEN nach aeffchen?
#v+ ~$ printf "ÄFFCHEN\n" | iconv -t ascii//translit | sed -e 's/.*/\L&/' affchen #v- Oder, da fällt mir noch was unportables mit bash 4 ein: chrisbra@host:/tmp$ foo="ÄFFCHEN" chrisbra@host:/tmp$ bar=$(printf "$foo\n" | iconv -t ascii//translit) && printf "$bar\n" AEFFCHEN chrisbra@host:/tmp$ bar=${bar,,} && printf "$bar\n" aeffchen chrisbra@host:/tmp$ printf "$BASH_VERSION\n" 4.1.5(1)-release #v- Und zsh kennt den :l modifier: #v+ chrisbra@host /tmp % foo="ÄFFCHEN" chrisbra@host /tmp % bar=${foo:l} chrisbra@host /tmp % printf "$bar\n" äffchen chrisbra@host /tmp % printf "$bar\n" | iconv -t ascii//translit aeffchen #v- Wenn ich mir das so anschaue, ist zsh-Syntax doch einprägsamer.
Es soll also nur US-ASCII übrig bleiben und Sonderzeichen wie ä nach ae transkribiert werden, eventuell auch nach nur nach affchen.
Wie ich gerade festelle, hängt auch das von der locale ab, wonach transkribiert wird. In einer englischen locale wird nämlich aus ä auch a während in einer deutschen locale ä zu ae wird.
Mir ist bekannt, dass man sich mit Perl da leichter tut, aber mit der Bash kenne ich mich eben besser aus. Ich habe mir dafür was mit sed gebastelt, das einzeln ersetzt.
*seufz* Wem sagst du das. Ich nehme mir immer vor, mich mit Perl mehr zu beschäftigen, wenn ich mit sed oder bash nicht weiter weiß. Dummerweise geht fast alles auch mit Shell-Script in Kombination mit sed oder awk. Nur für richtig komplexe Scripte nehme ich Perl. regards, Christian -- 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