Re: [OT] perlexpr : Rekursive Entfernung einzelner Zeichen aus Datei- und Ordnernamen mit find & rename
Moin,
da ist nun noch die Frage wie ich:
'
und
`
escapen/quoten kann?
find ./ -name "*'*" -exec rename -v 'y/'/_/' '{}' \;
geht ins Leere.
Quote and Quote-like Operators
in
perldoc perlop
begreife ich nicht.
Ein q(') geht nicht:
fatter.sh: line 19: syntax error near unexpected token `)'
fatter.sh: line 19: `find ./ -name "*q(')*" -exec
rename -v 'y/q(')/_/' '{}' \;'
Ich steh' wie Ochs' vor'm Berg. Ich kann doch nicht 800 GB per Hand
durchflöhen. Der Rest funktioniert prima und ist rasend schnell.
(Ja, ich muß das Teil so oft aufrufen, bis keine Änderungen mehr nötig
sind - das ist aber egal)
Tschüss
dirk
--
Bei Bedarf einfach kopieren - spart das Heraussuchen der ganzen
Sonderzeichen:
fatter.sh:
===SNIP===
echo
echo Make filenames FAT compatible
echo
# Muster für copy & paste
#find ./ -name "**" -exec rename -v 'y///' '{}' \;
#find ./ -name "*:*" -exec rename -v 'y/://d' '{}' \;
# verbose
# -v
echo Satzzeichen + Auslassungen
find ./ -name "*:*" -exec rename -v 'y/://d' '{}' \;
find ./ -name "*?*" -exec rename -v 'y/?//d' '{}' \;
find ./ -name "*¿*" -exec rename -v 'y/¿//d' '{}' \;
find ./ -name "*;*" -exec rename -v 'y/;/_/' '{}' \;
find ./ -name "*,*" -exec rename -v 'y/,/_/' '{}' \;
find ./ -name "*&*" -exec rename -v 'y/&/And/' '{}' \;
#find ./ -name "*q(')*" -exec rename -v 'y/q(')/_/' '{}' \;
echo Klammern
find ./ -name "*(*" -exec rename -v 'y/(/-/' '{}' \;
find ./ -name "*)*" -exec rename -v 'y/)/-/' '{}' \;
find ./ -name "*[*" -exec rename -v 'y/[/-/' '{}' \;
find ./ -name "*]*" -exec rename -v 'y/]/-/' '{}' \;
find ./ -name "*{*" -exec rename -v 'y/{/-/' '{}' \;
find ./ -name "*}*" -exec rename -v 'y/}/-/' '{}' \;
echo Deutsche Sonderzeichen
find ./ -name "*ä*" -exec rename -v 'y/ä/ae/' '{}' \;
find ./ -name "*Ä*" -exec rename -v 'y/Ä/Ae/' '{}' \;
find ./ -name "*ö*" -exec rename -v 'y/ö/oe/' '{}' \;
find ./ -name "*Ö*" -exec rename -v 'y/Ö/Oe/' '{}' \;
find ./ -name "*ü*" -exec rename -v 'y/ü/ue/' '{}' \;
find ./ -name "*Ü*" -exec rename -v 'y/Ü/Ue/' '{}' \;
find ./ -name "*ß*" -exec rename -v 'y/ß/ss/' '{}' \;
echo Sandinavische Sonderzeichen
find ./ -name "*å*" -exec rename -v 'y/å/aa/' '{}' \;
find ./ -name "*Å*" -exec rename -v 'y/Å/Aa/' '{}' \;
find ./ -name "*ø*" -exec rename -v 'y/ø/oe/' '{}' \;
find ./ -name "*Ø*" -exec rename -v 'y/Ø/Oe/' '{}' \;
find ./ -name "*æ*" -exec rename -v 'y/æ/ae/' '{}' \;
find ./ -name "*Æ*" -exec rename -v 'y/Æ/Ae/' '{}' \;
find ./ -name "*ð*" -exec rename -v 'y/ð/d/' '{}' \;
find ./ -name "*Ð*" -exec rename -v 'y/Ð/D/' '{}' \;
echo Südeuropäische Sonderzeichen
find ./ -name "*í*" -exec rename -v 'y/í//' '{}' \;
find ./ -name "*Í*" -exec rename -v 'y/Í//' '{}' \;
find ./ -name "*ñ*" -exec rename -v 'y/ñ//' '{}' \;
find ./ -name "*Ñ*" -exec rename -v 'y/Ñ//' '{}' \;
find ./ -name "*ò*" -exec rename -v 'y/ò//' '{}' \;
find ./ -name "*Ó*" -exec rename -v 'y/Ó//' '{}' \;
find ./ -name "*õ*" -exec rename -v 'y/õ//' '{}' \;
find ./ -name "*Õ*" -exec rename -v 'y/Õ//' '{}' \;
find ./ -name "*â*" -exec rename -v 'y/â/a/' '{}' \;
find ./ -name "*Â*" -exec rename -v 'y/Â/A/' '{}' \;
find ./ -name "*ô*" -exec rename -v 'y/ô/o/' '{}' \;
find ./ -name "*Ô*" -exec rename -v 'y/Ô/O/' '{}' \;
find ./ -name "*û*" -exec rename -v 'y/û/u/' '{}' \;
find ./ -name "*Û*" -exec rename -v 'y/Û/U/' '{}' \;
echo Französische Sonderzeichen
find ./ -name "*à*" -exec rename -v 'y/à/a/' '{}' \;
find ./ -name "*À*" -exec rename -v 'y/À/A/' '{}' \;
find ./ -name "*á*" -exec rename -v 'y/á/a/' '{}' \;
find ./ -name "*Á*" -exec rename -v 'y/Á/A/' '{}' \;
find ./ -name "*ç*" -exec rename -v 'y/ç/c/' '{}' \;
find ./ -name "*Ç*" -exec rename -v 'y/Ç/C/' '{}' \;
find ./ -name "*è*" -exec rename -v 'y/è/e/' '{}' \;
find ./ -name "*È*" -exec rename -v 'y/È/E/' '{}' \;
find ./ -name "*é*" -exec rename -v 'y/é/e/' '{}' \;
find ./ -name "*É*" -exec rename -v 'y/É/E/' '{}' \;
find ./ -name "*ê*" -exec rename -v 'y/ê/e/' '{}' \;
find ./ -name "*Ê*" -exec rename -v 'y/Ê/E/' '{}' \;
===SNIP===
Reply to: