Hallo zusammen, ich habe bei http://askubuntu.com/questions/538269/how-to-move-files-based-on-first-word-in-file-name dies Zeile
1 | find . -maxdepth 1 -type f -name '*.jpg' -exec perl -e '$a="\Q@ARGV"; $a =~ /(\w+)/; `mkdir -p $1 && mv $a $1`' "{}" \; |
gefunden, um eine Liste von Dateien nach dem ersten Wort im Namen in entsprechende Ordner zu sortieren.
Jetzt möchte ich jedoch nicht nach dem ersten Wort, sondern nach dem Beginn der durch Unterstriche getrennt ist, sortieren, entsprechend foo_b_a_r_x und foo_b_a_r_y und foo_b_a_r_z zum Ordner foo_b_a_r. Sorry, verstehe Regex nicht.
Hierbei ist auch die Länge der identischen Beginne der Dateinamen unterschiedlich, so ist es manchmal auch foo_b_a oder foo_b, jedoch denke würde es ausreichen mindestens zwei der drei identische Wörter getrennt durch Unterstriche zu finden. Trotzdem wäre es auch super hier vielleicht eine degressive Schleife zu machen, die absteigend die Gleichheit der Namen abfragt.
Viel wichtiger ist jedoch, dass in der Sortierung eine Bedingung lautet, wenn mindestens drei Dateien mit dem selben Dateinamen beginnen, dann sortieren oder gruppieren zum Ordner, ansonsten in einem Misc Ordner schieben.
Vielen Dank! napterk