いくつかの画像をフォルダにダウンロードするプログラムがあります。現在のフォルダにある画像の数を計算したいです。同様のコマンドを使用しましたls -1 download_folder | wc -l
。
しかし、このコマンドは実行に時間がかかります(画像をたくさんダウンロードしたため)。このコマンドが実行されると、ダウンローダは引き続き画像をダウンロードします。
最後に、私のコマンドはカウントを返します。このカウントが始まるタイムスタンプを知りたいです。コマンドの実行を開始した瞬間から、それとも現在の最新数を提供しますか?
編集:自分で確認しようとしましたが、方法が見つかりませんでした。ありがとうございます。
答え1
このls
コマンドは、ディレクトリ全体を読み取り、並べ替え、渡すことです。wc
とにかく順序は気にしません。それは実行されるでしょうたくさんls
次のようにソートしないように指定すると、より高速です。
ls -U | wc -l
これにより、新しいファイルを追加するのにかかる時間が短縮され、精度が向上します。しかし、追加と上場の間にはまだ克服できない競争条件があります。一部のファイルシステムは名前をハッシュし、一部は線形リストに追加するため、ls
実行時に追加の内容が表示または表示されないことがあります。