アカウント名:
パスワード:
単純に質問なのですが, なぜfind . -name '*hoge*'としないのは何故でしょうか?
なるほど要はディレクトリも含めてのgrepということですか. ただ, それならパイプを使った方がコマンドライン長の制限がかからないので汎用性は高いでしょう. ちなみにFreeBSDの/usr/srcディレクトリ下で実行すると, みごとに"Argument list too long."でこけました. それともzshだとxargsと同じようにパラメータ分割処理を行っているのかな?
昔のDOS系のOSじゃあパイプは使い物にならなかったけど, WinNT系のOSなら使えるようになったと思っていたんだけど, やっぱり性能的に問題があるのかな?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人
SFU は後がないよ (スコア:1, 興味深い)
Re:SFU は後がないよ (スコア:2, 参考になる)
プリインストールでないエディションだと、どうなるんでしょう。
Interix は標準環境だと gnuツールに慣れた体には違和感があるのですが、cygwin は遅すぎなのとバグ多すぎで、イライラするので、少しずつgnuツールをコンパイルして SFU に環境を移しました。
SF
Re:SFU は後がないよ (スコア:2, 興味深い)
> Interix は標準環境だと gnuツールに慣れた体には違和感があるのですが、(中略)少しずつgnuツールをコンパイルして SFU に環境を移しました。
自分で環境をコンパイルしなければならないのは、ほげり倒して遊ぶにはいいですが、今片付けなくてはならない仕事がある時にgrep -rが拒否されたりする
名物に旨いものなし!
Re:SFU は後がないよ (スコア:1)
単純に質問なのですが, なぜfind . -name '*hoge*'としないのは何故でしょうか?
Re:SFU は後がないよ (スコア:2, 参考になる)
だから結局「grep hoge `find .`」は「カレントディレクトリ以下のファイルをfindでリストアップし、全てgrepにかけてhogeという文字列が含まれる行を表示する」という動作になります。つまり一部のgrepが備えている「再帰grep」(GNUのだと-rオプションが相当する)機能と同じことをしているわけです。「find . -name *hoge*」とは全然違いますね。
Re:SFU は後がないよ (スコア:1)
なるほど要はディレクトリも含めてのgrepということですか. ただ, それならパイプを使った方がコマンドライン長の制限がかからないので汎用性は高いでしょう. ちなみにFreeBSDの/usr/srcディレクトリ下で実行すると, みごとに"Argument list too long."でこけました. それともzshだとxargsと同じようにパラメータ分割処理を行っているのかな?
昔のDOS系のOSじゃあパイプは使い物にならなかったけど, WinNT系のOSなら使えるようになったと思っていたんだけど, やっぱり性能的に問題があるのかな?
Re:SFU は後がないよ (スコア:1)
いえ、エラーが出たら諦めて、 find の -exec オプションに切り替えてました。 xargs は知らなかったのですが、こちらのほうが簡潔でよさげですね。
ちなみにzshであれば grep hoge **/* というのもありますが、コマンドライン長の制限に引っかかるのは grep hoge `find .` と同様です。
名物に旨いものなし!
Re:SFU は後がないよ (スコア:1)
あとシェルは指示されたプロセス以外起動しません。引数が勝手に間引かれたり、複数プロセス起動していたら困ります。
xargsは仕様としてコマンドライン引数に入りきらなかった場合、複数回、起動することになっています。
そのためxargsのコンパイル時にはコマンドライン引数の最大長をチェックしてます。<GNU findの場合
Re:SFU は後がないよ (スコア:0)
Re:SFU は後がないよ (スコア:0)