1

NAS に一時作業ディレクトリを作成する 2k サーバーで同時に実行するスクリプトがあります。

スクリプトはファイルのリストを作成します...リストは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 のサブディレクトリを参照して、それぞれがどこにあるかをすばやく確認できるようにしたいと考えています。

4

1 に答える 1

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
于 2012-09-29T01:10:16.507 に答える