Linux/Dateinamen/bereinigen/Skripte

Aus Foxwiki

mv/sed

$ mv 'file' $(echo 'file' | sed -e 's/[^A-Za-z0-9._-]/_/g')

find/perl

find /path/to/files -type f -print0 | \
perl -n0e '$new = $_; if($new =~ s/[^[:ascii:]]/_/g) {
 print("Renaming $_ to $new\n"); rename($_, $new);
}'

Dateinamen kürzen

Beispiel

MP3-Dateien auf 30 Zeichen kürzen

for altname in *.mp3; do neuname=$(echo $altname | cut -c -26); mv "$altname" "$neuname.mp3"; done