タグ

grepに関するTaROのブックマーク (7)

  • lgrepコマンドで再帰的に日本語をファイル検索する — ディノオープンラボラトリ

    lgrepコマンドをご存知でしょうか。日語対応ページャlvの付属品で、対象ファイルの文字コードを推定して日語文字列をうまく見つけてくれるという、優れもののgrepです。 古いプロジェクトだと、プログラムはEUCだけど静的ファイルはSJIS、なんてことがあると思います。そんなときに大活躍です。 grepした結果の文字コード変換も勝手にやってくれるので、grep結果をnkfする必要もありません。至れり尽くせりですね。 そんなlgrepコマンドにも弱点があります。grepで言う-r(再帰的にファイルを検索)オプションが無いのです。どこに書いてあるかわからないエラーメッセージを探す、なんてときに-rは必須ですよね。無いなら作ってしまえ、ということで作ってみました。 alias lgrep-r="find . -type d -name .svn -prune -o -type f -print

  • 文字コード混在環境でのEmacsのgrep - Everyday Programmer

    Ubuntuの標準の文字コードはUTF-8.しかし未だにEUC-JPなファイルを扱わざるを得ない場面も多い.そんな環境でもEmacsのgrepを使えるようにするお話. grepとlgrep まずは,grepについて.grepは日語を扱うこともできるが,文字コードが混在してたらダメ.そこでlgrepを使う.lgrepは文字コードを気にせずgrepできるようになる賢いやつ.lvをインストールしたら付いてくるので,lvをまずはインストールしよう. % sudo aptitude install lvちなみにlvはいろんな文字コードに対応したlessみたいなもの.これからはlessの代わりに使っても良い.あ,lgrepはgrepとオプションが違ったりするので完全な置換にはならないらしい. とりあえず,lvをインストールしたのでlgrepが使えるようになった. Emacsでlgrepを使う 実はE

    文字コード混在環境でのEmacsのgrep - Everyday Programmer
    TaRO
    TaRO 2013/07/10
  • 意外と知られていないファイル探索方法(grep --include) - 技術メモ帳

    書こう書こう書こうと思っていたら先に書かれてしまった。 404 Not Found この行き場の無い感情をどうにかボクの中から排除しなければならない。 そう考えたときに独り言のようにこのブログロに記述すれば良いじゃないかという 結論にたどり着いたのはもはや必然とも言える。 find | xargs による探索だが、それが簡単なものであれば 実は grep コマンドだけでうまくいく。 GNU grep、BSD 系の grep コマンドでは include、exclude オプションで再帰検索時に検索対象とするファイルを絞り込む事が出来るのだ。 --include=pattern --exclude=pattern たとえば、カレントディレクトリ以下の *.rb から test という文字列を 含むファイルを探索したい場合は次のようにすれば良い。 fgrep -r --include='*.r

    TaRO
    TaRO 2012/12/28
  • grepで.svnディレクトリを除外して再帰検索 - 日々の報告書

    すごく久しぶりの日記。論文とかで忙しかったので。 前々からSubversionで管理されているディレクトリ以下を再帰的にgrepすると、Subversionの管理ディレクトリ(.svn)以下のファイルまでマッチされちゃってていやだったんだ。まぁ、普段はEclipseで開発しているからターミナルからgrepを打つことは少なかったんだけど。で、時間もできたので、今日grepコマンドで再帰検索したときに、Subversion管理ディレクトリ以下は除外する方法を調べたので、そのメモ。 結論から言うと、以下のようにgrepコマンドを入力すればよい。 $ rgrep --exclude=*.svn* TODO .このコマンドを実行すると、カレントディレクトリ以下を再帰的に、TODOと言う文字列を含むファイルを検索してくれる。このとき「--exclude」オプションで指定されているように、ファイルのパス

    grepで.svnディレクトリを除外して再帰検索 - 日々の報告書
    TaRO
    TaRO 2012/11/20
  • netstat | grep が遅いなぁと思ったときにはgrep -m - As a Futurist...

    サーバ間の通信を調査したいときに、netstatはよく使うと思います。たとえば、あるポートを使ってるプロセスを探したい時。 # netstat -taopn | grep :29324 tcp 0 0 192.168.11.11:29324 192.168.11.12:3306 ESTABLISHED 10726/perl off (0.00/0/0) ただ、すごいたくさん通信してるサーバだと、netstat自身がすごい遅くて、上記コマンドが終了するのに時間がかかります。手で見てる時はまぁどうでもいいんですが、自動化したい時とかにずっと待ってると微妙ですよね。 見つけたいのは 1 行だけだなぁと思ったので| head -1とかしてみたんですがあんまうまくいってない。 # time netstat -taopn | grep :29324 | head -1 tcp 0 0 192.168.

    netstat | grep が遅いなぁと思ったときにはgrep -m - As a Futurist...
    TaRO
    TaRO 2012/06/09
  • 目grep入門 +解説

    2. いいわけ 1 • なぜかよくわからないけど好評だったらしい • でも – いみわかんねwww – 後半が意味不明 – つーかそれ目grep言わないでしょ • というツッコミが… • 頭おかしいというのがうけたらしい? – 全然おかしくないよ! • が、人によっては「ためになる資料です!!」というコ メントもあったり 2 / 83

    目grep入門 +解説
  • tail -f と 多段grep : 野ログはノロキュアMaxHeart

    tail -f access.log みたいな感じでログを追うことはよくありますよね。 いやでもほむほむに関するログだけでいいわー。って時は tail -f access.log | grep homuhomu みたいにしますよね。 青いのが関係するログはいらないわーって時更に tail -f access.log | grep homuhomu | grep -v sayaka みたいにしますよね。 grep1段階までなら問題ないんですが、多段のgrepをかました時にtail -f してるのにリアルタイムに出力されねー。 なんかまとめて表示されるんだけど・・・ ってなりませんか? これgrepが出力先が標準出力かどうかを見てbufferを切り替えているかららしいです。 オプションで行単位のbufferに変えられるのでパイプに対して出力しているgrepに --line-bufferedとい

    tail -f と 多段grep : 野ログはノロキュアMaxHeart
  • 1