linux-l: Skripting (Re: Q: Umwandlung von Dateinamen)

Fabian Walk fabian at narf.in-berlin.de
Mo Okt 19 17:20:41 CEST 1998


On Mon, 19 Okt 1998, you wrote:
>> find $1 -name *"[A-Z]"* -or -name *"\!"* -or -name *"\~"* -exec mv -i {}  \
>> $(echo {} | sed -e "y/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ/abcdefghijklmn \
>> opqrstuvwxyzäöü/" -e "s:[!~]::g") \; 
>
>"or"-Verknuepfungen sind niederwertiger als "and"-Verknuepfungen.
>Keine Angabe der Verknuepfungsart sind defaultmaessig "and".
>
>ich wuerde deshalb mal Klammern probieren. Wobei mir jetzt
>nicht klar ist, ob die Klammern escaped werden muessen.
>Also mal beides versuchen.
>
Danke für den Tip, wenn man die Klammern escaped wird das Script erstinmal
ausgeführt. 
Leider bekomme ich die Fehlermeldung das die Dateien die mv übergeben werden
die selben sind. 
mv: `./T!eS~T.TxT' and `./T!eS~T.TxT' are the same file
mv: `./TEST.TXT' and `./TEST.TXT' are the same file
Das heißt dan wohl das es mit der Komandosubstitution
$(echo {} | sed -e "y/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ/abcdefghijklmn \
opqrstuvwxyzäöü/" -e "s:[!~]::g") \; 
so wohl nicht klappt, und der von find übergebene Dateiname nicht mittel sed
umgewandelt wird.
Wie kann ich es nun erreichen das die Komandosubstitution korrekt ausgeführt
wird und der übergebene Dateiname umgewandelt wird?
Bye Fabian
-- 
Fabian fabian at narf.in-berlin.de



Mehr Informationen über die Mailingliste linux-l