2015-08-25 82 views
0

因此,在輸出視頻的圖像序列幀之後,比我需要我已經結束了與方式更多的圖像。我想削減這一點。圖像被命名爲1.png,高達959.png。用bash/zsh腳本執行此操作有一個簡便的方法嗎?像刪除其他圖像並重命名下一個以保持訂單?降低圖像序列

在此先感謝。

+1

要刪除文件1 5 9 13 17 ...使用bash:'RM {1..959..4} .png' – Cyrus

回答

0

好了,所以我發現有些解決的。

#!/bin/zsh 

c=0 
cc=0 
ext=".png" 
for file in `ls | sort -V` 
do 
    let c=c+1; 
    let cc=cc+1; 
    if [ $c -eq 2 ]; then 
    rm -f $file 
    c=0 
    else 
    let cc=cc-1; 
    new="$cc$ext" 
    mv $file $new 
    fi 
done 

這將列出當前目錄中的所有文件並循環遍歷它們,刪除所有其他文件並重命名下一個文件。請注意,這也會重命名腳本文件,因此您可能需要創建一些邏輯來避免這種情況。

+0

的簡單的方法來避免重命名/通過簡單地不將其放置在相同的刪除腳本目錄。更好的做法是隻在你實際想要觸及的文件上運行循環:'用於$(ls * .png | sort -V)或更好的文件,用於* .png(n)'中的文件。 – Adaephon