次のコードは、現在のパスの下のすべてのディレクトリを繰り返し、圧縮されたxmlファイルの数を計算します。
for i in *xml.gz; do
echo "XML" "${PWD##*/}" "$i" $(gunzip -c $i | echo "scale=0; `wc -l`" | bc -l);
done
以前に計算されたディレクトリが計算されるのを防ぎ、実行時間を短縮するために最後の5つのディレクトリを計算するなどのループを実行する方法を探しています。 forループでは特定のディレクトリを指定できますが、まだxmlファイルを計算するだけです。数える。同時に、2つのことを行う構文が見つかりません。
答え1
時間に基づいて最後のN個のファイルを一覧表示するには、次のアイデアを使用できます。
ls -tr
リストの下部から最新のファイルをインポートします。
tail -5
最後の5行を取得します。その後、コードは次のようになります。
for i in `ls -tr|tail -5`.....