Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
scientific
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Beitrag
von scientific » 05.09.2017 23:52:03
Schreib mal deinen gesamten Befehl hier auf.
Seh gerade, du hast deinen Befehl nicht eingesetzt...
Code: Alles auswählen
find ~/Musik $(qdbus org.mpris.MediaPlayer2.clementine /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player Metadata | \
awk -F ":" 'BEGIN{ORS="\n"}\
$1=="xesam" && $2 == "album" {md[1]=$3} \
$1=="xesam" && $2 == "artist" {md[2]=$3} \
END{print md[1];print md[2]}' | \
awk 'BEGIN{maxlenght=0;maxword=0} \
NR==1 {for (i=1;i<=NF;i++) if (length($i)>maxlength){maxlength=length($i);md[1]=$i;}} \
NR==2 {md[2]=$0} \
END{print " -iname *"md[1]"* -iname *"md[2]"*"}')
So ists eingesetzt. Probier den mal.
lg scientific
-
desputin
- Beiträge: 1349
- Registriert: 24.04.2015 17:16:34
Beitrag
von desputin » 06.09.2017 08:38:22
Hallo Scientific,
ich habe da leider die selbe Fehlermeldung bekommen mit dem Abschnitt eingesetzt:
Code: Alles auswählen
> END{print " -iname *"md[1]"* -iname *"md[2]"*"}')
find: Der Pfad muss vor dem Ausdruck stehen: 09 - VA - A Distant Invitation.flac
Try 'find --help' for more information.
-
scientific
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Beitrag
von scientific » 06.09.2017 09:06:26
Ah... Ja, das liegt an den Leerzeichen im Albumtitel...
Das kann ich mir aber erst heut abend genauer ansehen.
-
scientific
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Beitrag
von scientific » 06.09.2017 18:31:24
Funktionierts damit?
Code: Alles auswählen
find ~/Musik $(qdbus org.mpris.MediaPlayer2.clementine /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player Metadata | \
awk -F ":" 'BEGIN{ORS="\n"}\
$1=="xesam" && $2 == "album" {md[1]=$3} \
$1=="xesam" && $2 == "artist" {md[2]=$3} \
END{print md[1];print md[2]}' | \
awk 'BEGIN{maxlenght=0;maxword=0} \
NR==1 {for (i=1;i<=NF;i++) if (length($i)>maxlength){maxlength=length($i);md[1]=$i;}} \
NR==2 {for (i=1;i<=NF;i++) if (length($i)>maxlength){maxlength=length($i);md[2]=$i;}} \
END{print " -iname *"md[1]"* -iname *"md[2]"*"}')
Ich lasse auch den Künstlernamen nach dem längsten Wort filtern und setze das dann in die Suche ein.
lg scientific
-
desputin
- Beiträge: 1349
- Registriert: 24.04.2015 17:16:34
Beitrag
von desputin » 06.09.2017 23:30:30
Hm, also bei "Rammstein" Lied "Amour" geht es nicht:
Code: Alles auswählen
find: ‘/home/desputin/Musik’: Datei oder Verzeichnis nicht gefunden
Bei "R.E.M." - "Losing my religion" das selbe...
-
scientific
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Beitrag
von scientific » 06.09.2017 23:40:04
Poste bitte die Ausgabe von
Code: Alles auswählen
qdbus org.mpris.MediaPlayer2.clementine /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player Metadata | \
awk -F ":" 'BEGIN{ORS="\n"}\
$1=="xesam" && $2 == "album" {md[1]=$3} \
$1=="xesam" && $2 == "artist" {md[2]=$3} \
END{print md[1];print md[2]}' | \
awk 'BEGIN{maxlenght=0;maxword=0} \
NR==1 {for (i=1;i<=NF;i++) if (length($i)>maxlength){maxlength=length($i);md[1]=$i;}} \
NR==2 {for (i=1;i<=NF;i++) if (length($i)>maxlength){maxlength=length($i);md[2]=$i;}} \
END{print " -iname *"md[1]"* -iname *"md[2]"*"}'
für einige der fraglichen Musikstücke.
Du siehst, es ist gar nicht so einfach, einen so einfachen Gedanken "Suche mir alle Videos die den Künstlernamen und das längste Wort des Albumtitels im Namen haben" so zu übersetzen, dass die auch das gewünschte Ergebnis bringt...
lg scientific
-
scientific
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Beitrag
von scientific » 06.09.2017 23:43:25
Möglicherweise wäre es wirklich einfacher, die Musikstücke mit einem zusätzlichen Tag mit einem passenden Video zu versehen.
Oder du arbeitest über eine Datenbank, wo du Musikstück und Video zusammenbindest, welche du dann mit der Ausgabe von Clementine abfragen kannst.
Aber solche Datenbanken oder Tags muss man halt auch pflegen.
Noch eine Frage, die Dateinamen der Videos enthalten Unterstriche statt Leerzeichen?
lg scientific
-
desputin
- Beiträge: 1349
- Registriert: 24.04.2015 17:16:34
Beitrag
von desputin » 07.09.2017 22:33:19
Ja, das stimmt. Würde halt mehrere Stunden dauern, das alles zu taggen. Oder Tage - je nachdem. Die meisten meiner Musikvideos haben Leerzeichen, aber mit Krename könnte ich die alle in Unterstriche umwandeln, wenn das hilft...