Hallo! Folgendes Script benennt falsche Verzeichnisse bzw. Files um (zB das Verzeichnis "Startmen?" in "Startmenü": #!/bin/sh where=$1 for i in `find $where -name *'\?'* -print`; do src=$i tgt=`echo $i | sed -e "s/?/ü/"` #echo $src mv $src $tgt done echo "FERTIG!!!" Leider funkioniert es nur wenn im Dateinamen keine Blancs vorkommen... Für das Verzeichnis /home/user/Eigene Dateien/te?.html wird der Schleifenkörper 2 mal durchgeführt - einmal für /home/user/Eigene und das zweite mal für Dateien/te?.html Natürlich stimmt dann der mv Befehl nicht mehr... Kann ich das irgendwie verhindern? Danke! Markus -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer -- 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
Markus Gamperl wrote:
Hallo!
Folgendes Script benennt falsche Verzeichnisse bzw. Files um (zB das Verzeichnis "Startmen?" in "Startmenü":
#!/bin/sh
where=$1 for i in `find $where -name *'\?'* -print`; do src=$i tgt=`echo $i | sed -e "s/?/ü/"` #echo $src mv $src $tgt done echo "FERTIG!!!"
Leider funkioniert es nur wenn im Dateinamen keine Blancs vorkommen... Für das Verzeichnis /home/user/Eigene Dateien/te?.html wird der Schleifenkörper 2 mal durchgeführt - einmal für /home/user/Eigene und das zweite mal für Dateien/te?.html
Natürlich stimmt dann der mv Befehl nicht mehr... Kann ich das irgendwie verhindern?
Sorge dafür, dass der auf der Konsole eingestellte Zeichensatz korrekt is und setze im Script IFS="", dann werden die Leerzeichen nicht als Trenner verwendet. Sandy PS: Ein Betreff ist immer nett. PPS: Die Listenadresse ist jetzt: opensuse-de@opensuse.org, suse-linux ist veraltet. -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- 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
-------- Original-Nachricht --------
Datum: Tue, 21 Nov 2006 22:10:52 +0100
Von: Sandy Drobic
Markus Gamperl wrote:
Hallo!
Folgendes Script benennt falsche Verzeichnisse bzw. Files um (zB das Verzeichnis "Startmen?" in "Startmenü":
#!/bin/sh
where=$1 for i in `find $where -name *'\?'* -print`; do src=$i tgt=`echo $i | sed -e "s/?/ü/"` #echo $src mv $src $tgt done echo "FERTIG!!!"
Leider funkioniert es nur wenn im Dateinamen keine Blancs vorkommen... Für das Verzeichnis /home/user/Eigene Dateien/te?.html wird der Schleifenkörper 2 mal durchgeführt - einmal für /home/user/Eigene und das zweite mal für Dateien/te?.html
Natürlich stimmt dann der mv Befehl nicht mehr... Kann ich das irgendwie verhindern?
Sorge dafür, dass der auf der Konsole eingestellte Zeichensatz korrekt is und setze im Script IFS="", dann werden die Leerzeichen nicht als Trenner verwendet.
Sandy
PS: Ein Betreff ist immer nett. PPS: Die Listenadresse ist jetzt: opensuse-de@opensuse.org, suse-linux ist veraltet. -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
-- 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 Sandy! Danke für deine Hilfe - funktioniert super! Ich hatte komische Zeichen bei den Umlauten durch eine falsche Samba-Konfig reinbekommen... ü wurde zu ? ä wurde zu " ö bzw. ß weiß ich nicht... hast du da viel. eine Ahnung? Sorry wegen dem Betreff - ist in der Eile verloren gegangen... und die Adresse bessere ich auch gleich aus! Danke! Markus -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer -- 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
Markus Gamperl wrote:
where=$1 for i in `find $where -name *'\?'* -print`; do src=$i tgt=`echo $i | sed -e "s/?/ü/"` #echo $src mv $src $tgt done echo "FERTIG!!!"
Sorge dafür, dass der auf der Konsole eingestellte Zeichensatz korrekt is und setze im Script IFS="", dann werden die Leerzeichen nicht als Trenner verwendet.
Danke für deine Hilfe - funktioniert super! Ich hatte komische Zeichen bei den Umlauten durch eine falsche Samba-Konfig reinbekommen... ü wurde zu ? ä wurde zu " ö bzw. ß weiß ich nicht... hast du da viel. eine Ahnung?
Kommt etwas darauf an, welcher Zeichensatz eingestellt war vorher und jetzt. Recode z.B. kann verschiedene Zeichensätze ineinander umwandeln. "recode ISO_8859-1..Latin1" etwas wandelt von ISO_8859 nach Latin1 um. Wenn dein Standardzeichensatz jetzt UTF8 ist und vorher Latin1, dann halt "recode Latin1..UTF8". Versuche mal, herauszufinden, welcher Zeichensatz vorher eingestellt war. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- 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
-------- Original-Nachricht --------
Datum: Wed, 22 Nov 2006 00:01:00 +0100
Von: Sandy Drobic
Markus Gamperl wrote:
where=$1 for i in `find $where -name *'\?'* -print`; do src=$i tgt=`echo $i | sed -e "s/?/ü/"` #echo $src mv $src $tgt done echo "FERTIG!!!"
Sorge dafür, dass der auf der Konsole eingestellte Zeichensatz korrekt is und setze im Script IFS="", dann werden die Leerzeichen nicht als Trenner verwendet.
Danke für deine Hilfe - funktioniert super! Ich hatte komische Zeichen bei den Umlauten durch eine falsche Samba-Konfig reinbekommen... ü wurde zu ? ä wurde zu " ö bzw. ß weiß ich nicht... hast du da viel. eine Ahnung?
Kommt etwas darauf an, welcher Zeichensatz eingestellt war vorher und jetzt. Recode z.B. kann verschiedene Zeichensätze ineinander umwandeln.
"recode ISO_8859-1..Latin1" etwas wandelt von ISO_8859 nach Latin1 um. Wenn dein Standardzeichensatz jetzt UTF8 ist und vorher Latin1, dann halt "recode Latin1..UTF8".
Versuche mal, herauszufinden, welcher Zeichensatz vorher eingestellt war.
Sandy
-- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
-- 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 Sandy! Das ist nicht so einfach... Kann es nicht mehr nachvollziehen was früher eingestellt war. ls Ergebnis: WSSQL10_Einf?hrung in SQL.doc WSXML01_Einf?hrung in XML.doc WSXML21_Oracle als XML-Datenbank.doc WSXXX00_Vorlage.doc jav 24_25 kurz.indd li02:/home/markusg/Temp/Workshops # cp WSXML01_Einfhrung\ in\ XML.doc Kann ich irgendwie rausfinden wie die Files mit einem "?" drinnen codiert ssind? Falls ja könnt ich es ja mit "convmv" richtig stellen... Danke! Markus -- "Ein Herz für Kinder" - Ihre Spende hilft! Aktion: www.deutschlandsegelt.de Unser Dankeschön: Ihr Name auf dem Segel der 1. deutschen America's Cup-Yacht! -- 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
Markus Gamperl wrote:
Danke für deine Hilfe - funktioniert super! Ich hatte komische Zeichen bei den Umlauten durch eine falsche Samba-Konfig reinbekommen... ü wurde zu ? ä wurde zu " ö bzw. ß weiß ich nicht... hast du da viel. eine Ahnung? Kommt etwas darauf an, welcher Zeichensatz eingestellt war vorher und jetzt. Recode z.B. kann verschiedene Zeichensätze ineinander umwandeln.
"recode ISO_8859-1..Latin1" etwas wandelt von ISO_8859 nach Latin1 um. Wenn dein Standardzeichensatz jetzt UTF8 ist und vorher Latin1, dann halt "recode Latin1..UTF8".
Versuche mal, herauszufinden, welcher Zeichensatz vorher eingestellt war.
Das ist nicht so einfach... Kann es nicht mehr nachvollziehen was früher eingestellt war.
ls Ergebnis:
WSSQL10_Einf?hrung in SQL.doc WSXML01_Einf?hrung in XML.doc WSXML21_Oracle als XML-Datenbank.doc WSXXX00_Vorlage.doc jav 24_25 kurz.indd li02:/home/markusg/Temp/Workshops # cp WSXML01_Einfhrung\ in\ XML.doc
Kann ich irgendwie rausfinden wie die Files mit einem "?" drinnen codiert ssind? Falls ja könnt ich es ja mit "convmv" richtig stellen...
convmv sieht so aus, als ob es für dich das richtige Werkzeug ist. Hier der Auszug aus "man convmv": How to repair Samba files When in the smb.conf (of Samba 2.x) there hasn't been set a correct "character set" variable, files which are created from Win* clients are being created in the client's codepage, e.g. cp850 for western european languages. As a result of that the files which contain non-ASCII charâ acters are screwed up if you "ls" them on the Unix server. If you change the "character set" variable afterwards to iso8859-1, newly creâ ated files are okay, but the old files are still screwed up in the Winâ dows encoding. In this case convmv can also be used to convert the old Samba-shared files from cp850 to iso8859-1. By the way: Samba 3.x finally maps to UTF-8 filenames by default, so also when you migrate from Samba 2 to Samba 3 you might have to convert your file names. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- 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
convmv sieht so aus, als ob es für dich das richtige Werkzeug ist. Hier der Auszug aus "man convmv":
How to repair Samba files
When in the smb.conf (of Samba 2.x) there hasn't been set a correct "character set" variable, files which are created from Win* clients are being created in the client's codepage, e.g. cp850 for western european languages. As a result of that the files which contain non-ASCII charâ acters are screwed up if you "ls" them on the Unix server. If you change the "character set" variable afterwards to iso8859-1, newly creâ ated files are okay, but the old files are still screwed up in the Winâ dows encoding. In this case convmv can also be used to convert the old Samba-shared files from cp850 to iso8859-1.
By the way: Samba 3.x finally maps to UTF-8 filenames by default, so also when you migrate from Samba 2 to Samba 3 you might have to convert your file names.
Sandy
-- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
-- 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 Sandy! Schaut super aus genau das was ich gebraucht hab: perl convmv -f cp850 -t iso8859-1 -r -i --notest /directory DANKE!!! LG Markus -- "Ein Herz für Kinder" - Ihre Spende hilft! Aktion: www.deutschlandsegelt.de Unser Dankeschön: Ihr Name auf dem Segel der 1. deutschen America's Cup-Yacht! -- 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 (2)
-
Markus Gamperl
-
Sandy Drobic