• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

find und umlaute

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
Hallöle zusammen.
Hat jemand eine Idee, wie ich gezielt mit find nach Ordnern/Dateien suchen kann, die einen Umlaut enthalten (Beispiel: suche rekursiv nach Ordnern die "Hallöle" heissen)? quotes und single quotes helfen da leider nicht wirklich weiter... der Ordner wird nicht gefunden.
 
Oktal escapen oder besser das Terminal auf UTF-8 umstellen!
Gruß Pepi
 
Dank zunächst für Hilfe, pepi... Bin ja schon froh, dass nicht die Frage nach dem "Warum/Wozu" gekommen ist.
oder besser das Terminal auf UTF-8 umstellen!
Ich dachte, das wäre schon so. Das Ergebnis wird ja schliesslich auch korrekt ausgegeben wenn ich z.B. so suche:
Code:
find /verzeichnis -name 'Hall*le'
/verzeichnis/Hallöle
Nur eben für die Suche selbst geht's so nicht.

Und wie müsste es denn oktal escaped aussehen für diesen konkreten Fall. Und wie stelle ich es an, wenn der zu suchende Name aus einer Variablen kommt, diesen entsprechend zu wandeln?
Ich bräuchte das für's shell-scripting in AppleScript. Die Variable würde also aus AS kommen.
 
Hallo CloneOfMyself!

Ja, "Terminal auf UTF-8 umstellen" hilft nicht.
Mac OS X Referance Library schrieb:
Realize that most shell commands are completely ignorant of Unicode and UTF-8

In der Technical Note, aus dem das nette Zitat stammt, wird Perl empfohlen.
Das kann man ja mit do shell script aufrufen.
Wer Perl nicht beherrscht, kann zwar den "Übersetzer" find2perl benutzen, aber das hilft nur bedingt, da im Perlscript schon reingeschrieben werden muss, dass es auch nach Umlauten suchen muss... Ob da ein use utf-8 reicht, weiß ich nicht, da meine Perl Kenntnisse gegen Null gehen.

Escapen wird in deinem Fall umständlich, denke ich.
Da ist es wohl einfacher, einen Platzhalter * für die Umlaute zu benutzen und das im AppleScript zu regeln. Also Zeichen ersetzen und das ausgegebene Ergebniss mit der Variable zu vergleichen.

Ansonsten gibt es ja in dem kleinen aber feinen Forum, wo ich schon von dir gelesen habe, einen Perl Experten :)
 
DANKE. DANKE. DANKE... euch allen zusammen und insbesondere Rastafari: Das war genau der Bringer, auf den ich gehofft hatte. Obwohl ich das gute alte iconv kannte, wäre ich NIE auf die Lösung und diese Konstellation gekommen... Supisache! Musste ja was rauskommen, wenn sich soviel geschätzte Kompetenz versammelt... Vielen Dank für die Mühe!
so werde ich's machen:
Code:
find /ver/zeich/nis -type d -name "$( iconv -t UTF-8-MAC <<< 'Hallöle')"