我有一个脚本,我同时在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 $ filelist)并添加一个在循环中增加1的计数器。 然后我可以除$ counter / $ num_files。
这似乎有效,但我遇到的问题是我想重命名同一个文件,而不是每次只创建一个新文件。我能在这做什么?
我不希望这个输出到stdout / stderr ....我已经有足够的东西去这些地方了。我希望能够浏览WinSCP中的子目录并快速查看每个子目录。
答案 0 :(得分: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