如何按照顺序拼接文件
发表于 : 2010-05-24 21:20
已经知道有如下文件:
/home/pt/videos/pama2/1.flv.mpg
/home/pt/videos/pama2/2.flv.mpg
/home/pt/videos/pama2/3.flv.mpg
/home/pt/videos/pama2/4.flv.mpg
/home/pt/videos/pama2/5.flv.mpg
/home/pt/videos/pama2/6.flv.mpg
/home/pt/videos/pama2/7.flv.mpg
/home/pt/videos/pama2/8.flv.mpg
/home/pt/videos/pama2/9.flv.mpg
/home/pt/videos/pama2/10.flv.mpg
我需要按照从1到10的顺序拼接,使用下面的程序
for filename in /home/pt/videos/pama2/*mpg;
do cat $filename >> /home/pt/videos/pama2/result.mpg;
echo $filename;
done;
注意echo $filename; 是用来看文件拼接顺序的
结果,拼接成了一个大文件,但是没有按照我期望的顺序,
屏幕输出
/home/pt/videos/pama2/10.flv.mpg
/home/pt/videos/pama2/1.flv.mpg
/home/pt/videos/pama2/2.flv.mpg
/home/pt/videos/pama2/3.flv.mpg
/home/pt/videos/pama2/4.flv.mpg
/home/pt/videos/pama2/5.flv.mpg
/home/pt/videos/pama2/6.flv.mpg
/home/pt/videos/pama2/7.flv.mpg
/home/pt/videos/pama2/8.flv.mpg
/home/pt/videos/pama2/9.flv.mpg
有一个文件本应当放在最后的,结果拼接在了最前面,
/home/pt/videos/pama2/10.flv.mpg
请问,我的shell程序如何修改?为何会出现这种结果?
/home/pt/videos/pama2/1.flv.mpg
/home/pt/videos/pama2/2.flv.mpg
/home/pt/videos/pama2/3.flv.mpg
/home/pt/videos/pama2/4.flv.mpg
/home/pt/videos/pama2/5.flv.mpg
/home/pt/videos/pama2/6.flv.mpg
/home/pt/videos/pama2/7.flv.mpg
/home/pt/videos/pama2/8.flv.mpg
/home/pt/videos/pama2/9.flv.mpg
/home/pt/videos/pama2/10.flv.mpg
我需要按照从1到10的顺序拼接,使用下面的程序
for filename in /home/pt/videos/pama2/*mpg;
do cat $filename >> /home/pt/videos/pama2/result.mpg;
echo $filename;
done;
注意echo $filename; 是用来看文件拼接顺序的
结果,拼接成了一个大文件,但是没有按照我期望的顺序,
屏幕输出
/home/pt/videos/pama2/10.flv.mpg
/home/pt/videos/pama2/1.flv.mpg
/home/pt/videos/pama2/2.flv.mpg
/home/pt/videos/pama2/3.flv.mpg
/home/pt/videos/pama2/4.flv.mpg
/home/pt/videos/pama2/5.flv.mpg
/home/pt/videos/pama2/6.flv.mpg
/home/pt/videos/pama2/7.flv.mpg
/home/pt/videos/pama2/8.flv.mpg
/home/pt/videos/pama2/9.flv.mpg
有一个文件本应当放在最后的,结果拼接在了最前面,
/home/pt/videos/pama2/10.flv.mpg
请问,我的shell程序如何修改?为何会出现这种结果?