我有我的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