projectx scripten mit bash script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
swasi
Beiträge: 15
Registriert: 29.10.2008 21:10:14

projectx scripten mit bash script

Beitrag von swasi » 10.12.2009 16:07:20

Hallo Freunde

ich habe ein Problem und komme einfach nicht weiter. Ich habe von meinem digital Receiver aufnahmen im .trp Format.
Zum Umwandeln gibts ein sehr praktisches Proggi. Ich finde aber die GUI etwas umständlich und verwirrend, darum konvertiere
ich auf der Konsole. Das geht sehr zackig. Aber ich will nun die Tipperei auch noch reduzieren und habe begonnen ein script zu schreiben.

Hier das Script:

Code: Alles auswählen

    name=${1%.*}                                          # wir brauchen nicht den Dateityp

    mp2=$name"".mp2                                       # ""quoten um Leerzeichen in
    mpg=$name"".mpg                                       # Ordnernamen zu erhalten
    m2v=$name"".m2v
    mp2en=$name""[1].mp2
    log=$name""_log.txt
    
    COUNTER=`ls -1 "$name".0* | wc -l`

    i=0
    while [ $i -lt $COUNTER ]
    do
	i=`expr $i + 1`
	demux[$i-1]=$name"".$(printf "%.3d" "$i")
    done
    
    j=0
    expression="$(while [ $j -lt $COUNTER ]; do echo ${demux[$j]}" " ; j=`expr $j + 1`; done)"
    projectx -demux "$expression"

    #projectx -demux "${demux[0]}" "${demux[1]}"

    #projectx -demux "$1"

    #mplex -f 8 -S 0 -M -o "$mpg" "$m2v" "$mp2"        # multiplexen von audio und video
    #rm -rf "$mp2" "$m2v" "$log" "$mp2en"              # aufräumen nach getaner Arbeit
    
Mein Problem ist im unteren Teil, wo projectx aufgerufen wird.
Und zwar, wenn ich projectx -demux "${demux[0]}" "${demux[1]}" aufrufe, dann klappts.
Hingegen wenn ich projectx -demux "$expression" aufrufe, dann klappts nicht.

Ich sehe das so, dass er im ersten Fall, zwei Argumente unterscheiden kann, im zweiten Fall hingegen nicht.
Warum das, oder wie kann ich das lösen?

swasi
Beiträge: 15
Registriert: 29.10.2008 21:10:14

Re: projectx scripten mit bash script

Beitrag von swasi » 10.12.2009 18:17:33

ich hab die Lösung gefunden. Ist zwar nicht die eleganteste, aber funktioniert tip top.

Code: Alles auswählen

function demux_files {
  projectx -demux "$@"
}

demux_files "$1" "${demux[@]}"
Wenn einer noch ne bessere Lösung findet, bitte mitteilen. Ich bin interessiert

Antworten