2012-05-01 12 views
0

別のスクリプトを実行し、出力から名前を変更するスクリプトを作成しようとしています。ここでシェルスクリプトの出力の名前を変更します

は、これまでのスクリプトです:

#! /bin/bash 

i=1 

for N in mediainput.iso mediainput2.iso 
do 
    x264transcode $N 
    mv $N $((i++)) 
done 

もこの `tの。ファイルを移動して名前を変更するだけです。

私はまずx264トランスコードを実行し、その出力の名前を変更する必要があります。 x264transcodeがファイルを処理したとき、それらはすべて同じ名前になります。

ファイル名が変更されたときのokeyは、1と2のようになります。

しかし、そこにファイルが入っていたフォルダの名前やファイル自体を取得する方法があればプラスになります。多分、異なるシナリオのためにそれらの間で選択してください。

、以下の実施例:x264のから

  1. 〜/ビデオ/夏休み2009/dvd.iso
  2. 出力:リネームスクリプトからVIDEO01.mkv
  3. 出力:サマー・バケーション・2009.mkv
+0

これを:そうであれば、このようなものは、また、ハイフンと正しいファイル名を取得します。私のためにもっともらしいとは思わない。 'for mediainput.iso mediainput2.iso'は、Nの名前をmediainput.isoに設定し、次にmediainput2.isoに設定します。次に、 'x264transcode $ N'を呼び出して、最初の変数置換の後に' bex264transcode mediainput.iso'を行います。 'mv $ N $((i ++))'は入力ファイルのmv/renameを行います。あなたの入力ファイル名は出力ファイル名ですか?しかし、それはすべてのファイルに同じ名前ではありません。あなたもフォルダについて話しています。しかし、 'mediainput.iso'はフォルダ名のようには見えません。何か間違っていますか? –

答えて

1

x264transcodeは常に出力VIDEO01.mkvを呼び出しますか?すべてのビデオファイルはdvd.isoですか?これはその入力ファイルが置かれているディレクトリではなく、現在のディレクトリにx264transcode店VIDEO01.mkvを想定している

cd ~/Videos 
for I in */dvd.iso 
do 
    x264transcode $I 
    mv VIDEO01.mkv `dirname $I|tr ' ' -`.mkv 
end 

+0

ビデオファイルは常に.isoまたは.img |出力は動的ですが、常に.mkvで終わります。 x264transcodeは出力を指定できる別のフォルダに保存します。 – MikalD

関連する問題