Am 29.03.2017 um 09:20 schrieb Sascha Reißner: > Am Donnerstag, den 23.03.2017, 00:00 +0100 schrieb Michelle Konzack: >> On 2017-03-22 21:50:48 Klaus Becker hacked into the keyboard: >>> im Ordner habe ich die Unicode-Hyphens händisch in Bindestriche geändert, und >>> jetzt klappt z. B. "rename -v 's|^[0-9][0-9]-||' *.mp4" (Tipp von Michelle). >>> Mein Problem ist jetzt: wie kann ich diese Unicode-Hyphens per Skript in >>> Bindestriche verwandeln, damit mein Skript funktionniert? >> Also ich kann die Dinger auch nicht in xterm oder mc tippen, also oeffne >> ich in mc mein script, oeffne die Menuse mit F9 und waehle "Format" und >> dort "Befehlsausgabe einfuegen". > Auch nicht mit [AltGr]+[-] ? > Bei mir funktioniert das. > Hallo, bei mir geht es mit [AltGr] + [-]. Probiere es mal mit dem Bindestrich neben der rechten Shift-Taste. Um ausschließlich den Unicode-Hypen zu ersetzen, hab ich ein kleines Script in Python geschrieben. Verzeichnisse werden nicht umbenannt. Es wird lediglich das Unicode-Zeichen '–' durch das ASCII Zeichen '-' ersetzt. Es wird auch verhindert, dass Dateien einfach überschrieben werden. https://pastebin.com/Ba44gRyY #!/usr/bin/env python3 import os import sys hypen = b'\xe2\x80\x93'.decode() dash = '-' def get_rename_pairs(root): results = [] for root, dirs, files in os.walk(root): for file in files: if hypen in file: source = os.path.join(root, file) target = source.replace(hypen, dash) if not os.path.exists(target): result = (source, target) results.append(result) return results if __name__ == '__main__': if len(sys.argv) != 2: print(sys.argv[0], 'top directory') sys.exit(1) pairs = get_rename_pairs(sys.argv[1]) for pair in pairs: print('Renaming file {} to {}'.format(*pair)) os.rename(*pair) Mir persönlich fällt es leichter das mit Python zu realisieren. Sofern du das Zeichen irgendwie in das Terminal bekommst, kannst du auch rename nutzen, sofern das Tool mit Unicode umgehen kann. Das weiß ich jetzt nicht. Schöne Grüße Andre Müller
Attachment:
signature.asc
Description: OpenPGP digital signature