2012-02-01 49 views
0

我只是做了ffmpeg的一點點工作,它工作正常...解析winff xml文件來創建一個菜單,kdialog和bash

讀取其中存儲配置文件這樣一個文件:

name_myprofile MP4 ffmpeg的選項

現在我想用winff函數是一個XML文件

http://winff.googlecode.com/files/presets-libavcodec53-v3.xml.gz

但我雷爾易建聯不知道如何轉換

<H105FS> 
<label>RB iRiver H10 5/6GB Fullscreen</label> 
<params>-acodec libmp3lame -ab 128k -ar 44100 -vcodec mpeg2video -vf scale=128:96 -b 224k -strict -1</params> 
<extension>mpg</extension> 
<category>Rockbox</category> 

在此

RB_iRiver_H10_5/6GB_Fullscreen MPG -acodec了libmp3lame -AB 128K -ar 44100 -vcodec mpeg2video -vf規模= 128:96 -b 224K -strict -1

謝謝!!

可能與awk的...麻將..我的工作,但:■

編輯我是能夠打印使用一些東西

awk '/params/{gsub(/<params>/,"");gsub(/<\/params>/,"");gsub(/ /,"") ;print }' presets-libavcodec51-v5.xml >>params 


awk '/label/{gsub(/<label>/,"");gsub(/<\/label>/,"");gsub(/ /,"");gsub(/ /,"_") ;print }' presets-libavcodec51-v5.xml >>presetlabel 



awk '/extension/{gsub(/<extension>/,"");gsub(/<\/extension>/,"");gsub(/ /,"") ;print }' presets-libavcodec51-v5.xml 

:d,但我需要打印更好:S

+0

現在我想還'AWK「BEGIN {J = 1; I = 1; H = 1}/PARAMS/{GSUB(/ /,「」); gsub(/ <\/params> /,「」); gsub(/ /,「」); ar [j] = $ 0; js} {gsub(/

回答

0
awk 'BEGIN{j=1;i=1;h=1} /params/{gsub(/<params>/,"");gsub(/<\/params>/,"");gsub(/ /,"") ;ar[j] = $0 ; j++} 
/label/{gsub(/<label>/,"");gsub(/<\/label>/,"");gsub(/ /,"");gsub(/ /,"_") ; br[i] = $1; i++ } 
/extension/{gsub(/<extension>/,"");gsub(/<\/extension>/,"");gsub(/ /,"") ;cr[h] = $1 ; h++ }END { for (j in ar) {print br[j]" "cr[j]" "ar[j] } }' presets-libavcodec51-v5.xml 

在這裏它是:d