2012-05-01 137 views
0

我想創建一個腳本來運行另一個腳本並從輸出中更改名稱。重命名Shell腳本的輸出

這是迄今爲止該腳本:

#! /bin/bash 

i=1 

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

這不`噸那麼好。它只是移動文件並重命名它們。

我需要先運行x264transcode,然後重命名該輸出。因爲當x264transcode處理文件時它們都會得到相同的名稱。

它的okey表示文件被更改的名稱是1,然後是2等等。

但是,如果出現一個獲取文件所在文件夾名稱的方法或文件本身,這將是一個加號。也許在他們之間選擇不同的場景。

實施例下面:

  1. 〜/視頻/暑假2009/dvd.iso
  2. 從X264
  3. 輸出:VIDEO01.mkv
  4. 從重命名腳本
  5. 輸出:夏假期-2009.mkv
+0

此。對我來說聽起來並不合理。 'mediainput.iso中的N'mediainput2.iso'將N的名稱設置爲mediainput.iso,然後設置爲mediainput2.iso。然後你調用'x264transcode $ N',這樣在第一個變量替換之後就會'bex264transcode mediainput.iso'。 'mv $ N $((i ++))'然後mv /重命名輸入文件。你的輸入文件名是輸出文件名嗎?但是,這對於每個文件都是不一樣的名字。你也在談論文件夾。但'mediainput.iso'也不看作文件夾名稱。我錯了嗎? –

回答

1

x264transcode是否總是調用其輸出VIDEO01.mkv?所有的視頻文件dvd.iso?如果是這樣,這樣的事情,也得到了正確的文件名用連字符:

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

這是假設x264transcode店VIDEO01.mkv在當前目錄,而不是它的輸入文件所在的目錄

+0

視頻文件將始終是.iso或.img |輸出是動態的,但始終以.mkv |結尾x264transcode將輸出存儲在我可以指定的不同文件夾中。 – MikalD