- 301 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 22:15:40.17 ID:ScQN6FWl0.net]
- ファイルや標準出力の行数がある数値より大きいことをできるだけ高速に確かめるにはどうすればいいだろう
最も単純で最もUNIXっぽいのは $ test $(<file.txt wc -l) -gt $num としてその真偽を見ることだけど $ test $( (yes | head -n 3000000000000000000) | wc -l) -lt 300 こういうのを実行して貰えれば分かると思うがかなり時間が掛かる 俺の使ってる計算機はそこそこ良い性能(Intel Xeon x2/32GiB RAMなのだが) それでも実行に1分強掛かった。 しかしこれは無駄だ。なぜなら結局比較する対象は300なのだから、「300行以上ある」ことが分かればいい。 なにか案ありませんかね。 思ったのはsed -n -e '300p'とかでその失敗判定を見るとかだが,これはsedコマンドの失敗の要因が他にもあるので ちょっと不安定かなと。
|

|