我有我的Linux系統上的以下的GIF:運行程序多次使用一個行shell命令
$ find . -name *.gif
./gifs/02.gif17.gif
./gifs/fit_logo_en.gif
./gifs/halloween_eyes_63.gif
./gifs/importing-pcs.gif
./gifs/portal.gif
./gifs/Sunflower_as_gif_small.gif
./gifs/weird.gif
./gifs2/00p5dr69.gif
./gifs2/iss013e48788.gif
...and so on
我所寫的是GIF文件轉換爲BMP具有以下界面的程序:
./gif2bmp -i inputfile -o輸出文件
我的問題是,是否有可能使用xargs,awk,find等編寫一行命令來爲這些文件中的每一個運行一次程序?或者我必須寫一個循環的shell腳本?
謝謝,這正是我所尋找的。我結束了使用以下命令: 找到。 -name * .gif -exec ./convert -i {} -o {} .bmp \; 唯一的問題是,我的輸出文件的擴展名爲.bmp.gif,但至少它的工作原理:) – 2010-05-02 18:00:26
好的單線tonio。 .gif.bmp問題是爲什麼我通常會用額外的行來提取基本文件名並更改擴展名。 – 2010-05-02 18:10:09
@teehoo:後綴問題的答案是編寫一個shell腳本來覆蓋轉換器:'exec ./gif2bmp -i「$ 1」-o「$ {1%.gif} .bmp」'。然後你從'find'運行它:'find。 -name'* .gif'-exec ./wrapper {} \;'。 – 2010-05-02 18:10:28