2013-09-26 33 views
0

我正在使用以下腳本來計算移動到目標文件夾的文件數。使用shell腳本無法移動的文件數的計數

while read ln; do mv -v $ln $dest_path1 2>>log;((count++));done 

現在的問題是,我不知道有多少文件被成功移動,有多少失敗。誰能告訴我該怎麼做?謝謝!

回答

1

本替換你的腳本:只有當mv命令成功後會發生

count=0 
while read ln; do 
    mv -v $ln $dest_path1 2>>log && ((count++)) 
done 

現在becaue &&操作計數器遞增。

1

如果您追蹤返回代碼,它會更容易。

success=0 
fail=0 
while read ln; do 
    mv -v $ln $dest_path1 2>>log && ((success++)) || ((fail++)) 
done 
echo "Number of files moved: ${success}" 
echo "Number of files not moved: ${fail}" 
+0

你好downvoter,你能解釋一下這裏有什麼問題嗎? – devnull

+0

謝謝你的回答!但是,我不知道爲什麼沒有。失敗總是會返回1? – user2051823