特定のディレクトリセットを繰り返します。

特定のディレクトリセットを繰り返します。

次のコードは、現在のパスの下のすべてのディレクトリを繰り返し、圧縮された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`.....

おすすめ記事