Mediensammlung entrümpeln

  • Leider nein.


    Teilweise einzelne Dateien aber zum Großen Teil in Ordnern.


    Für Ordner müsste ich -d für directory an das mv hängen, richtig?

  • Möglich, weiß ich gerade nicht auswendig. Brauch ich so selten.


    Vielleicht machst du mal ein Beispiel wie die Ordnerstruktur inklusive der Dateien so in etwa aussieht.

  • Vielen Dank schon mal für deine Hilfe Angelluck!


    Das verschieben bekomme ich derzeit nicht hin.


    Probiere es aktuell per:


    Code
    grep -w "rating" *.nfo | uniq | sed -e 's/<[^>]*>//g' > rating.txt
    
    
    grep -rIw "rating" | sed -e 's/<[^>]*>//g' > rating.txt
    
    
    
    
    awk '/[0-7]+\.[0-9]+/ ' rating.txt > rating_unter_8.txt
  • 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.

    Bash: move-script.sh
    #! /usr/bin/awk -f
    
    
    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
    r1=`awk -F" " '{ print $1 }' rating_unter_8.txt`
    r2="$r1"".mkv"
    mv  $r2 verzeichnis/

    Einmal editiert, zuletzt von angelluck ()

  • Vielen, Vielen Dank für deine Hilfe!


    Ich schaue mir mal genauer und probiere es dann.


    Das mit den Leerzeichen und Ordnern wird wohl ein Problem werden, da beides vorhanden ist.


    Aber schaue mal was der Test Ordner sagt.

  • 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.

    Bash
    #! /usr/bin/awk -f
    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
    r1=`awk -F" " '{ print $1 }' rating_unter_8.txt`
    r2="$r1""*"
    mv  $r2 verzeichnis/

    Einmal editiert, zuletzt von angelluck ()