[Gelöst] Titelliste von Videodateien erstellen.
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
[Gelöst] Titelliste von Videodateien erstellen.
Hallo,
auf einer ext. Festplatte habe ich etliche hundert Videos in verschiedenen Ordnern und Unterordnern. Nun möchte ich von allen Videos (mkv, mp4, avi, divx, mpg, mpeg und andere[?]) zum einfacheren Auffinden eine alphabetische Liste erstellen. Das kann eine einfache Textdatei sein mit nur den Titeln in alphabetischer Reihenfolge.
Wie kann ich das am einfachsten und schnellsten bewerkstelligen?
auf einer ext. Festplatte habe ich etliche hundert Videos in verschiedenen Ordnern und Unterordnern. Nun möchte ich von allen Videos (mkv, mp4, avi, divx, mpg, mpeg und andere[?]) zum einfacheren Auffinden eine alphabetische Liste erstellen. Das kann eine einfache Textdatei sein mit nur den Titeln in alphabetischer Reihenfolge.
Wie kann ich das am einfachsten und schnellsten bewerkstelligen?
Zuletzt geändert von ottonormal am 30.06.2022 12:40:00, insgesamt 1-mal geändert.
Re: Titelliste von Videodateien erstellen.
So in etwa?
Code: Alles auswählen
find /mount/der/ext/platte -type f -exec file {} \; |\
grep video |\
awk '{
n=split($1,a,"/");
print a[n]" "$1
}' |\
sort
Re: Titelliste von Videodateien erstellen.
nochn Tip dazu: -size +100M (oder wo auch immer deine Videos so anfangen), um irgendwelche thumbs oder so Metadaten rauszufiltern.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: Titelliste von Videodateien erstellen.
@ ottonormal
Keine ahnung wie deine liste aussehen soll
vielleicht reicht schon das.
gruss MaGe
Keine ahnung wie deine liste aussehen soll
vielleicht reicht schon das.
Code: Alles auswählen
ls "/Video/WESTERN-TV/" | sort > test.txt
gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.
Uns rottet die soziale Kälte viel früher aus.
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
Re: Titelliste von Videodateien erstellen.
Das funktioniert bei mir leider nicht. Es sieht so aus, als wenn von Titeln mit Leerzeichen nur der die ersten Buchstaben angezeigt werden. Dann auch nur AVIs? Unterordner werden auch nicht berücksichtigt.MSfree hat geschrieben:30.06.2022 09:27:44So in etwa?Code: Alles auswählen
find /mount/der/ext/platte -type f -exec file {} \; |\ grep video |\ awk '{ n=split($1,a,"/"); print a[n]" "$1 }' |\ sort
Hierbei:
Code: Alles auswählen
ls "/media/NAME/2TB-USB-HDD-EXT4/" | sort > test.txt
Re: Titelliste von Videodateien erstellen.
Ich stehe auf Kriegsfuß mit awk, deshalb weiß ich nicht genau, was in MSfrees Vorschlag passiert, aber ich vermute, dass ein Problem ist, dass file nicht alle Videotypen als solche erkennt, sondern sie als "data" identifiziert. Die fliegen dann in grep raus.
Das "andere" in deinem ersten Beitrag ist eine echt schwer zu knackende Nuss, denn dazu bräuchte man ein Tool, das alle möglichen Videotypen sauber identifizieren kann. Eigentlich soll file das leisten, aber es hinkt der Videobranche hier wohl um ein paar Jahr(zehnt)e hinterher, bzw. kann das prinzipiell nicht leisten.
TRex möchte das über das Hilfskonstrukt Dateigröße lösen, denn Videos sind tendenziell groß. Aber das ist natürlich Fuzzy-Logic, welche fehleranfällig ist, sowohl für false-positives als auch false-negatives.
Wenn du die Dateiendungen exakt eingrenzen könntest würde ich diesen Vorschlag präsentieren:
Das "andere" in deinem ersten Beitrag ist eine echt schwer zu knackende Nuss, denn dazu bräuchte man ein Tool, das alle möglichen Videotypen sauber identifizieren kann. Eigentlich soll file das leisten, aber es hinkt der Videobranche hier wohl um ein paar Jahr(zehnt)e hinterher, bzw. kann das prinzipiell nicht leisten.
TRex möchte das über das Hilfskonstrukt Dateigröße lösen, denn Videos sind tendenziell groß. Aber das ist natürlich Fuzzy-Logic, welche fehleranfällig ist, sowohl für false-positives als auch false-negatives.
Wenn du die Dateiendungen exakt eingrenzen könntest würde ich diesen Vorschlag präsentieren:
Code: Alles auswählen
find /mount/der/ext/platte -iname '*mkv' -iname '*mp4' -iname '*usw' -exec basename {} \; sort
Re: Titelliste von Videodateien erstellen.
Mit Option -R zeigt ls rekursiv auch den Inhalt der Unterverzeichnisse an. Wenn Du die Verzeichnispfade selbst nicht anzeigen willst, ginge das so:ottonormal hat geschrieben:30.06.2022 11:09:51Hierbei:Werden die Titel zwar richtig angezeigt, der Inhalt von Unterordnern aber auch nicht.Code: Alles auswählen
ls "/media/NAME/2TB-USB-HDD-EXT4/" | sort > test.txt
Code: Alles auswählen
ls -R /media/NAME/2TB-USB-HDD-EXT4/" | grep -v / | sort
Code: Alles auswählen
ls -R /media/NAME/2TB-USB-HDD-EXT4/" | egrep -v '(/|^$)' | sort
Re: Titelliste von Videodateien erstellen.
Das soll Den Dateinamen vom Pfad trennen. Weiter unten wird dazu auch basename verwendet. Als Ausgabe produziert awk dann eine Liste mit Dateinamen und dahinter dem vollen Dateipfad. Sortiert werden soltle ja nach dem Dateinamen, also muß der voran gestellt werden.hikaru hat geschrieben:30.06.2022 11:45:55Ich stehe auf Kriegsfuß mit awk, deshalb weiß ich nicht genau, was in MSfrees Vorschlag passiert,
Ob file alle Videotypen erkennt, weiß ich nicht. Das Problem mit Leerzeichen im Dateinamen läßt sich folgendermassen lösen:
Code: Alles auswählen
find /mount/der/ext/platte -type f -exec file {} \; |\
grep video |\
awk -F : '{
n=split($1,a,"/");
print a[n]" "$1
}' |\
sort -f
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
Re: Titelliste von Videodateien erstellen.
Vielen Dank!
Das haute jetzt fast so hin wie ich es wollte:
Es sind nur noch viele andere Dateien, die eigentlich nicht angezeigt werden sollten. Z,B. .txt und auch Musikdateien. Wenn ich die noch herausfiltern könnte, wär's perfekt.
Notfalls könnte es aber auch so bleiben.
Eigentlich hätte ich gedacht, hier ausgelacht zu werden für so eine simple Sache. Das scheint aber wohl doch erheblich komplizierter als gedacht.
Das haute jetzt fast so hin wie ich es wollte:
Code: Alles auswählen
ls -R /media/NAME/2TB-USB-HDD-EXT4 | grep -v / | sort
Notfalls könnte es aber auch so bleiben.
Eigentlich hätte ich gedacht, hier ausgelacht zu werden für so eine simple Sache. Das scheint aber wohl doch erheblich komplizierter als gedacht.
Re: Titelliste von Videodateien erstellen.
Was ist denn mit der korrigierten Version von hikaru:
Für jedes iname-Muster muss man ein Oder (-o) setzen, weil ansonsten implizit mit Und verknüpft wird.
Code: Alles auswählen
find /media/NAME/2TB-USB-HDD-EXT4 \( -iname '*mkv' -o -iname '*mp4' -o -iname '*usw' \) -exec basename {} \; | sort
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
Re: Titelliste von Videodateien erstellen.
Code: Alles auswählen
find /mount/der/ext/platte -type f -exec file {} \; |\
grep video |\
awk -F : '{
n=split($1,a,"/");
print a[n]" "$1
}' |\
sort -f
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
Re: Titelliste von Videodateien erstellen.
Ja, DAS isses jetzt. Das ist perfekt.tobo hat geschrieben:30.06.2022 12:32:44Was ist denn mit der korrigierten Version von hikaru:Für jedes iname-Muster muss man ein Oder (-o) setzen, weil ansonsten implizit mit Und verknüpft wird.Code: Alles auswählen
find /media/NAME/2TB-USB-HDD-EXT4 \( -iname '*mkv' -o -iname '*mp4' -o -iname '*usw' \) -exec basename {} \; | sort
Vielen Dank dafür!
Zuletzt geändert von ottonormal am 30.06.2022 12:41:51, insgesamt 1-mal geändert.
Re: [Gelöst] Titelliste von Videodateien erstellen.
Dann ersetze mal das "grep video" durch "grep "video\|Media""
PS:
Bezieht sich auf die Antwort zum Beitrag von MSfree.
PS:
Bezieht sich auf die Antwort zum Beitrag von MSfree.
Re: Titelliste von Videodateien erstellen.
Danke für die Korrektur!tobo hat geschrieben:30.06.2022 12:32:44Für jedes iname-Muster muss man ein Oder (-o) setzen, weil ansonsten implizit mit Und verknüpft wird.
Den Teil hatte ich dann nicht mehr getestet, weil Filterketten sind ja "trivial".