2012-09-29 67 views
1

我有一個腳本,我同時在2k服務器上運行,在NAS上創建一個臨時工作目錄。完成腳本的百分比:命名一個百分比文件

該腳本構建了一個文件列表...列表可以是1k文件或1m文件。 我名單上運行一個for循環來對每個文件運行一些命令的grep

counter=0 
num_files=`wc -l $filelist` 
cat $filelist| while read line; do 
do_stuff_here 
counter=`expr $counter+ 1` 
((percent=$counter/$num_files)) 
##CREATE a file named "$percent".percent 
done 

我在想什麼是我可以把文件總數從列表(WC -l $文件列表)並添加反擊,我在循環中增加1。 我可以再分$計數器/ $ num_files。

這似乎工作,但我的問題是,我想重命名相同的文件,而不是每次都創建一個新的。我能在這裏做什麼?

我不希望這個輸出到stdout/stderr ....我已經有足夠的東西去這些地方。我希望能夠瀏覽到WinSCP中的子目錄並快速查看每個目錄的位置。

回答

1

試試這個

touch 0.percent 
counter=0 
num_files=$(wc -l $filelist) 
num_files=${num_files/ */} 
cat $filelist| while read line; do 
do_stuff_here 
mv -f {$((counter*100/num_files)),$((++counter*100/num_files))}.percent 
done 
rm -f *.percent