0

Linux bash スクリプトの for ループに関する小さな質問があります。

10000 個のファイルを含むフォルダーがあります。10000 個のファイルから 100 個のファイルを一覧表示する for ループを作成しました。

For a in ~/Desktop/folder/*.txt
Do

    Echo $a

Done

ただし、アルファベットに応じて最初の 100 個のファイルではなく、フォルダー内の最大の 100 個のファイルを一覧表示する必要があります。

4

2 に答える 2

2

なぜ for ループを使用しているのですか? 最大 100 個のファイルを表示したいだけの場合は、次のようにします。

ls -S | head -n 100
于 2013-02-04T04:18:12.087 に答える
0

ファイルを取得するためだけにループを実行する場合は、そのためのツールがあることに注意してください: ls.

問題に合ったコマンドについては、ls の man ページを参照してください。man ls

あなたの質問に答えるには:

の出力を使用してls -S、ファイルをサイズで並べ替えてループすることができます。

ls -S *.txt | while read file; do 
    echo $file
done

ファイルの量を制限するには、head. 次の例では、 の出力から最初の 100 行を出力しますls

ls *.txt | head -n 100
于 2013-02-04T04:18:00.983 に答える