Die Dateinamen einer Aufnahme der Dreambox haben folgenden Syntax.
datum....time...sender.......titel.................
20160718 0340 - zdf_neo HD - Inspector Barnaby
012345678901234567890123456789012345678901234567890
Zum allfälligen archivieren also eher ungeeignet.
Folgendes scriptfragment splittet den Dateinamen auf.
Läuft so auch auf der Dreambox.
#!/bin/bash for x in *.ts; do if [ -z "${x/???????? ???? - *}" ] ; then filename="${x%.*}"; # filename Dateiname ohne .SUFFIX datum="${filename:0:8}"; # Datum abschneiden zeit="${filename:9:4}"; # Zeit rauskopieren titel="${filename:16}"; # titel Dateiname und Sendernamen titel="${titel#*- }"; # titel Abschneiden nach dem - echo $filename echo $datum echo $zeit echo $titel fi done
user@host:~/scripts/dream_file_rename$ ./split-dream-files
20160718 0340 - zdf_neo HD - Inspector Barnaby
20160718
0340
Inspector Barnaby
Das ganze Skript:
for x in *.ts; do if [ -z "${x/???????? ???? - *}" ] ; then filename="${x%.*}"; # filename Dateiname ohne dateityp date="${filename:0:8}"; # date ist das Datum time="${filename:9:4}"; titel="${filename:16}"; # titel Dateiname und Sendernamen titel="${titel#*- }"; # titel Abschneiden nach dem - echo $filename echo $date echo $time echo $titel y=${titel}"-"${date}"-"${time} echo $y cp "${filename}.eit" "/srv/movietest/$y.eit" HandBrakeCLI -i "$x" -o "/srv/movietest/$y.mkv" --preset Normal --subtitle scan,1,2,3,4,5,6,7,8,9,10 -a 1,2,3,4,5,6,7,8,9,10 fi done