0

情况:

AVI 文件有时包含两个文件 filename-cd1.avi 和 filename-cd2.avi。

我在 iMac 上的 bash 脚本中使用以下行将两个 cd 文件复制到一个 AVI 文件中:

MENCODER -ovc copy -oac copy *CD1.avi *CD2.avi -o "Joined Movie.avi" > /dev/null 2>&1

我想做的是保留基本文件名。所以:

找到带有“-cd2”的文件名,例如:OldMovie-cd2.avi

我想要做的是将“OldMovie”存储为一个变量,这样我就可以告诉 mencoder 对这两个文件执行复制,并且......这是踢球者 - 我希望得到的文件是“OldMovie.avi”是两个 cd 子文件的基本名称。

说得通?天哪,我希望如此。

感谢您的帮助,我已经搜索了几个小时没有解决方案。

兰迪

4

1 回答 1

1
for avi in *-cd2.avi; do

    base=`echo $avi | sed 's+-cd2\.avi+$\.avi+g'`
    echo base is $base
    echo looking for ${base}-cd1.avi
    if [ -f "${base}-cd1.avi" ]; then
         echo Found ${base}-cd1.avi
         MENCODER -ovc copy -oac copy ${base}-cd1.avi ${base}-cd2.avi -o "${base}.avi" > /dev/null 2>&1
    else
         echo Did not find ${base}-cd1.avi
    fi
done
于 2013-01-09T03:54:00.557 回答