私はこのコマンドを持っています
for i in {0..1000}; do ls -Falh /foo/ | grep bar.$i | tr -s " " | cut -d " " -f 5
数値0..1000
はテスト用ですが、たとえば 0 から 67864 まで可能です... このコマンドは機能していますが、明らかに非常に遅いです... このアクションを短時間で実行するためのより良い方法はありますか? 詳細については、私が編集した 1000 ループを一覧表示するのに約 6 秒かかります。
私が欲しいのは、そのコマンドを取得し、その行を配列に挿入することです(私はJavaを使用しています)。したがって、各行に"foo" => commandoutput"
は、返される各ファイルの5番目(5番目)の列が返される必要があります...例
4,0K
4,0K
933
1,2K
6
2,2K
428
428
428
428
428
428
428
2,2K
6
2,2K
4,0K
4,0K
109K
0
0
問題は出力ではなく、実際には実行するawk '{print $5}'
代わりに使用することtr|cut
ができましたls
が、ループがたくさんあるためコマンドが遅いです...したがって、私が望むのは、5番目(5番目)の列をls -Falh
表示するより高速な方法ですファイルサイズ...