2012-09-29 64 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