Mediensammlung entrümpeln

  • So hat jetzt eine ganze weile gedauert, aber ich glaube ich habe es jetzt. Jedenfalls funktioniert es bei mir mit Testdateien.
    Wichtig, die Dateien dürfen keine Leerzeichen enthalten. Sonst funktioniert es so nicht.
    Die Datei wirst du noch ausführbar machen müssen, das geht mit chmod a+x move-script.sh
    Zeile 5 musst du natürlich die Endung je nach Dateityp anpassen.

    Shell-Script: move-script.sh

    1. #! /usr/bin/awk -f
    2. grep -w "rating" *.nfo | uniq | sed -e 's/<[^>]*>//g' -e 's/.nfo//g' -e 's/://g' > rating.txt | awk '/[0-7]+\.[0-9]+/' rating.txt > rating_unter_8.txt
    3. r1=`awk -F" " '{ print $1 }' rating_unter_8.txt`
    4. r2="$r1"".mkv"
    5. mv $r2 verzeichnis/

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von angelluck ()

  • Revan335 schrieb:

    Das mit den Leerzeichen und Ordnern wird wohl ein Problem werden, da beides vorhanden ist.
    Die Leerzeichen wolltest doch durch Unterstriche ersetzten und später wieder zurück. Wobei ich es dann fast so lassen würde, weil es ja sein kann, dass du irgendwann später noch mal ein anderes script schreibst wo du dann das gleiche Problem hast.

    In zweile 5 könntest das .mkv evtl auch durch ein *-Zeichen ersetzten. Dann müsstest alles erwischen was diesem Titel anfängt.

    Ich habe das Script mal angepasst. Kann sein, dass man das *-Zeichen noch escapen muss dafür einfach ein \-Zeichen direkt vor den Stern setzten davor setzten.

    Shell-Script

    1. #! /usr/bin/awk -f
    2. grep -w "rating" *.nfo | uniq | sed -e 's/<[^>]*>//g' -e 's/.nfo//g' -e 's/://g' > rating.txt | awk '/[0-7]+\.[0-9]+/' rating.txt > rating_unter_8.txt
    3. r1=`awk -F" " '{ print $1 }' rating_unter_8.txt`
    4. r2="$r1""*"
    5. mv $r2 verzeichnis/

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von angelluck ()