0

状況:

AVI ファイルは、filename-cd1.avi と filename-cd2.avi の 2 つのファイルで構成される場合があります。

iMac の bash スクリプトで次の行を使用して、2 つの CD ファイルを 1 つの AVI ファイルにコピーします。

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

私がやりたいのは、ベースファイル名を保持することです。そう:

OldMovie-cd2.avi のように、'-cd2' を含むファイル名が見つかりました。

私がやりたいのは、"OldMovie" を変数として保存して、mencoder に 2 つのファイルのコピーを実行するように指示できるようにすることです。 2 つの 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 に答える