a*******e 发帖数: 3021 | 1 我有一堆文件,名字按顺序叫做 [小晓家园www.xxjy.org]潜伏??.rmvb, ??是从01
到32的数字。
我怎么写个循环来把这些文件转成avi文件?(我有转的命令比如mencoder)
想让输出的文件名跟输入的一样就是后缀是avi。
还有,想让一个文件转完了后另一个文件才开始转。 |
e*c 发帖数: 642 | 2 #!/bin/bash
for rmfl in `ls *.rmvb`; do
flnm=`basename $rmfl`
mencoder ... $rmfl ... $flnm.avi
done
save in a file, chmod u+x, run.
01
【在 a*******e 的大作中提到】 : 我有一堆文件,名字按顺序叫做 [小晓家园www.xxjy.org]潜伏??.rmvb, ??是从01 : 到32的数字。 : 我怎么写个循环来把这些文件转成avi文件?(我有转的命令比如mencoder) : 想让输出的文件名跟输入的一样就是后缀是avi。 : 还有,想让一个文件转完了后另一个文件才开始转。
|
l*****n 发帖数: 633 | 3 rename .rmvb .avi *.rmvb
01
【在 a*******e 的大作中提到】 : 我有一堆文件,名字按顺序叫做 [小晓家园www.xxjy.org]潜伏??.rmvb, ??是从01 : 到32的数字。 : 我怎么写个循环来把这些文件转成avi文件?(我有转的命令比如mencoder) : 想让输出的文件名跟输入的一样就是后缀是avi。 : 还有,想让一个文件转完了后另一个文件才开始转。
|
a*****i 发帖数: 4391 | 4 google bash parameter expansion.
(and parameter substitution) |
z*****g 发帖数: 810 | 5 mv [小晓家园www.xxjy.org]潜伏??.rmvb [小晓家园www.xxjy.org]潜伏??.avi
or cp [小晓家园www.xxjy.org]潜伏??.rmvb [小晓家园www.xxjy.org]潜伏??.avi |
n*****t 发帖数: 22014 | 6 如果你希望 output 可以去掉前缀的话:
#! /bin/sh
OPTIONS="mencoder options ..."
i=0
while [ $i -le 32 ]; do
printf -v str "%02d" $i
mencoder $OPTIONS "[小晓家园www.xxjy.org]潜伏"$str.rmvb -o $str.avi
let i=$i+1
done
01
【在 a*******e 的大作中提到】 : 我有一堆文件,名字按顺序叫做 [小晓家园www.xxjy.org]潜伏??.rmvb, ??是从01 : 到32的数字。 : 我怎么写个循环来把这些文件转成avi文件?(我有转的命令比如mencoder) : 想让输出的文件名跟输入的一样就是后缀是avi。 : 还有,想让一个文件转完了后另一个文件才开始转。
|
z*****g 发帖数: 810 | 7 for i in (seq (1,32))
do mencoder xxx$i.rmvb [flags] xxx$i.avi
done |
f**y 发帖数: 138 | 8 * Use 'for ((i = 1; i <= 32; i++))' to avoid calling external command 'seq'.
* $i doesn't work in the filename since it requires '01', '02', ...
【在 z*****g 的大作中提到】 : for i in (seq (1,32)) : do mencoder xxx$i.rmvb [flags] xxx$i.avi : done
|
f********1 发帖数: 1601 | 9 lol
想当年俺刚接触电脑时以为把.bmp换为.jpg就做了压缩 |