タグ

grepに関するtknzkのブックマーク (23)

  • tail -F /path/to/access.log のようなストリームに対して何度でもgrepを試行錯誤できるツール filt を作った - Copy/Cut/Paste/Hatena

    filtというツールを作りました github.com これはなに まずは以下のスクリーンキャストをご覧ください tail -F /path/to/access.log のようなログの流れを止めてはgrepをして、止めてはgrepのコマンドを変更してしています。 その間、実は裏では実際のストリームは止めていません。 つまり、ストリームのパイプ先に まずfiltを指定しておく ことで、ストリーム自体は止めずに、パイプ先のコマンドを 後で何度でも 変更できます。 grepやsedやawkが下手なので何度も試行したい 私はgrepやsedやawkなどのコマンドを一発で指定できるほど練度が高くないので、コマンドを組み立てるために何度も Ctrl+C でキャンセルしては再実行の繰り返しをしていました。 最近は stern や Harvest などでKubernetesのPodのログを流すことをもある

    tail -F /path/to/access.log のようなストリームに対して何度でもgrepを試行錯誤できるツール filt を作った - Copy/Cut/Paste/Hatena
  • コマンド一発でソースコード検索&表示できる「peco」改が凄い!

    lestrratさんがやってくれました。 ずいぶん前から、ソースコードを検索して読みやすいコマンドはないかなーと思っていました。個人的にはackで検索して見つかったファイルをlessで開いて再びキーワードを入れて当該行までジャンプしていたのですが、毎回毎回めんどくさい感じでした。コマンド一発でインクリメンタル検索してキーワード周辺のソースコードを読めるツールが欲しいなぁって思ってたんです。 とあるslackでお昼時に、mattnさんと「ほしいですよねー」という話から始まって、vimにあるgrepとかも物色しながら「いいのないねー」とか言ってたらkanさんが「@lestrrat 案件だ」って言い出して牧さんが召喚されてついさっきpecoに必要な機能が追加されてました。速いw ためしにpicotlsの開発ディレクトリでpecoの一行ラッパーperoを起動し、「EVP_Digest」を検索してみ

    コマンド一発でソースコード検索&表示できる「peco」改が凄い!
  • Big Sky :: レーベンシュタイン距離を使ったあいまい grep コマンド「lsdgrep」作ってみた

    元ネタはずいぶんと昔の記事なのだけど。 編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー ■ 編集距離 (Levenshtein Distance) 昨日 最長共通部分列問題 (LCS) について触れました。ついでなので編集距離のアルゴリズムについても整理してみます。 編集距離 (レーベン... http://d.hatena.ne.jp/naoya/20090329/1238307757 思い付きはまったく関係ない所から。 mp3 が数千ファイル入ってるフォルダで何かの手違いで同じ曲が入ってしまう事が結構あって重複取り去る作業してた。ID3が違ってるとMD5も違うのでレーベンシュタインの文字列距離を使ってファイル名が似てるの調べたら422ファイル消せる事が分かった。 — Vim芸人 (@mattn_jp) February 25, 2017 これを

    Big Sky :: レーベンシュタイン距離を使ったあいまい grep コマンド「lsdgrep」作ってみた
  • スケーラブル tail -f | grep on AWS - KAYAC engineers' blog

    こんにちは。組長こと @fujiwara (id:sfujiwara) です。 早速ですが皆さん、ログは見ていますか? 当然見ていますよね。tail -f で追いかけるとか大好きですよね。という前提で話を進めましょう。 この記事は Tech KAYAC Advent Calendar 2016 の24日目の記事です。 TL;DR 多種多様なホストから発生するログの末尾を tail -f で追いかけたい fluentd + ローカルファイルで行うのはちょっと面倒 Amazon Kinesis + Lambda を使ってスケーラブルな仕組みを考えてみた kinesis-tailf というツールも作った 既存の仕組みと問題点 techblog.kayac.com 弊社の Lobi とソーシャルゲームでは、この記事で紹介されたような Fluentd を活用したログ集約の仕組みを整備しています。この

    スケーラブル tail -f | grep on AWS - KAYAC engineers' blog
  • 君は、grep -o オプションを知っているか?(grepでマッチした部分のみ抽出、後方参照の¥0) - それマグで!

    grep -o オプションを知ったかぶりしてみた。 grep で後方参照的なことをやろうと思うと、 -o オプションを使うと便利。 GREPコマンドは、マッチ行を取り出すので、MATCH部分を取り出すのはちょっと手間。 grep -o "<div id=“content”>.*"でマッチした箇所だけを取り出す。 これでちょっとした解析がとても楽になります。 マッチ部を取り出す。 つまりあるキーワードを含む「行」ではなく「マッチ部分」を取り出す grep -o で該当部分を取り出す takuya@air:~$ curl mixi.jp | grep -o "<script[^>]*>[^<]*</script>" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent L

    君は、grep -o オプションを知っているか?(grepでマッチした部分のみ抽出、後方参照の¥0) - それマグで!
    tknzk
    tknzk 2016/02/22
  • why GNU grep is fast

    Mike Haertel mike at ducky.net Sat Aug 21 03:00:30 UTC 2010 Previous message: Latest intr problems Next message: why GNU grep is fast Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Hi Gabor, I am the original author of GNU grep. I am also a FreeBSD user, although I live on -stable (and older) and rarely pay attention to -current. However, while searching the -current mailing list f

    tknzk
    tknzk 2015/12/11
  • いまさらgrepが10倍高速化したのはなぜか – はむかず!

    最近GNU grepコマンドの最新バージョンがリリースされ、速度が10倍になったとのアナウンスがあった。それを聞いて、なんであんな枯れた技術に10倍もの高速化の余地があったのだろうと不思議に思った人も多いだろう。 ニュース記事:grepコマンド最新版、”-i”で10倍の高速化 家のリリースノート:grep – News: grep-2.17 released [stable] 今回のリリースでは正確には、マルチバイトロケールで、-iオプション(–ignore-case、つまり大文字小文字を区別しないオプション)をオンにした時の速度が10倍くらいになったそうだ。 なぜそんなに速くなったのか?逆を言えば今までなぜそんなに遅かったのか? そもそも、多くの日人にとって「大文字小文字の区別」というと英語のアルファベットか、せいぜいフランス語とかドイツ語とかのアクサン記号・ウムラウトがついたものく

  • Beyond grep: ack 2.12, a source code search tool for programmers

    ack is a grep-like source code search tool. The latest version of ack is v3.7.0, released 2023-02-25. Designed for programmers with large heterogeneous trees of source code, ack is written in portable Perl 5 and takes advantage of the power of Perl's regular expressions. What's new in ack? New --not option The new repeatable --not option lets you get more precise matches. If you want to search for

  • grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々

    "GREP_OPTIONS"という環境変数に、常に付けておきたいオプションをあらかじめ指定しておくと、grepコマンドやxgrep(egrepとかfgrepとか...)を実行したときに、自動でオプションをつけて実行してくれます。 例えば、、、 $ export GREP_OPTIONS="--color=auto"とか。常に含めておくなら、あとは"-I"オプションとかですかね。これくらいなら"alias"でも良いわけですがw grepとか毎日使ってもおかしくないコマンドなので、こういう小さい効率化はどんどんやっていきたいところですね! オプション無しで実行した場合 GREP_OPTIONSを設定してから実行した場合 おまけ: --colorの色を変えたい場合 環境変数 "GREP_COLOR"に色コードを指定してやると良いです。 例えば、ハイライトを黄色にしたい場合とかは、以下のような感じ

    grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々
    tknzk
    tknzk 2012/01/30
  • Big Sky :: 日本語grepが出来るjvgrepというのを作った。

    語を扱っていて困るのがgrep。正規表現パターンにマルチバイト文字を混ぜられなかったり、windowsで動かすと"表"の様に2バイト目にbackslashが混じる文字で動作しなくなったりします。 さらに複数のエンコーディングで書かれたファイルが散らばっていると一度のgrepで検索出来なかったりもします。 vimに限っては、内蔵のvimgrepを使う事で解決出来ますが、見つかったファイルをバッファに開いてしまうという挙動がある為、grepオリジナルの動作を求めている人にとっては都合の悪い物だったりもします。 vimgrepの様に複数のエンコーディングに対応していて、検索パターンにマルチバイト文字を含んだ正規表現が使えて、windowsでもちゃんと動いて、ついでといっちゃあなんだが、"**/*.txt"で再帰検索してくれる様なgrep無いかなぁと思ってたんですが、やっぱり無いので作りました

    Big Sky :: 日本語grepが出来るjvgrepというのを作った。
    tknzk
    tknzk 2011/08/21
  • 目grep入門

    Kernel/VM探検隊 #6で発表したスライドです。 解説編はこちら→http://www.slideshare.net/murachue/grep-8132856Read less

    目grep入門
    tknzk
    tknzk 2011/05/23
  • 【レポート】GNU grepが高速な理由 | エンタープライズ | マイコミジャーナル

    FreeBSD - The Power To Serve why GNU grep is fast (なぜGNU grepは高速なのか)といったタイトルの興味深いメールがFreeBSD開発者メーリングリストに投函された。メールを出したのはGNU grepのオリジナル開発者であるMike Haertel氏。Mike Haertel氏はFreeBSDユーザでもあり、FreeBSD開発者メーリングリストで興味深いやりとりがあったため、このメールを流したとしている。Mike Haertel氏の紹介する内容はgrep(1)の実装のみならず、高速な文字列処理を実現するひとつの方法として参考になる。紹介されているGNU grep高速さの秘訣は次のとおり。 GNU grepは入力バイトのすべてをチェックするようなことは避けている。 GNU grepはバイトごとに適用する操作を極力最小限に減らしている。 G

    tknzk
    tknzk 2010/10/11
  • gren - 次世代grepを目指したコマンドラインツール - おんがえしの blog

    grenはgrepの置き換えを目指して作ったコマンドラインツールです。 以下のような特徴を持っています。 特徴 基はfind+grep 指定ディレクトリ以下にある全てのファイルの中身を調べます。 gren 検索文字列 [検索するディレクトリ] でOKです。 ユーザーが指定する項目を最小限に バイナリかテキストかをツールが自動で判断します *.rbや*/*.cppのような指定は必要ありません README,README.jaのような特殊な拡張子でも検索対象に含めます .pngや.exeの中身は調べません。 デフォルトで除外ディレクトリが設定されています * *~, .svn, .git, CVS等は探索対象から除外します 便利な検索結果 検索を開始したディレクトリ(Path)、かかった時間(Time)、ファイル数(Files)、ファイルサイズ(Size)、マッチしたファイル数とヒット数(M

    gren - 次世代grepを目指したコマンドラインツール - おんがえしの blog
  • あるディレクトリ以下に存在する、指定のファイルやディレクトリ"以外"を削除する - 元RX-7乗りの適当な日々

    あるディレクトリ以下「/foo」の、対象ファイルorディレクトリ「hoge」とした場合、以下みたいな感じで実行すればOK。 $ ls /foo/ | grep -v 'hoge' | xargs rm -rf 複数指定したい場合は、正規表現を使う。 $ ls /foo/ | grep -v -E 'hoge|fuga' | xargs rm -rf とか、 $ ls /foo/ | grep -v -E '*.rb$' | xargs rm -rf

    あるディレクトリ以下に存在する、指定のファイルやディレクトリ"以外"を削除する - 元RX-7乗りの適当な日々
  • grepコマンドで検索をかけて、その以下数行も表示する - 元RX-7乗りの適当な日々

    grepコマンドでは、"-A"オプションを利用することで、パターンマッチした行の以下数行分をあわせて出力することが可能です。 プログラムの関数名と、その中身n行分を見たい場合なんかに使えます。 A NUM, --after-context=NUM NUM で指定した行数だけ、パターンにマッチした行の後の行も表示します。 http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html 実際には以下のような感じ。 $ cat /etc/init.d/httpd | grep 'start()' start() { $ cat /etc/init.d/httpd | grep -A 10 'start()' start() { echo -n $"Starting $prog: " check13 || exit 1 LANG=$HTTPD_LA

    tknzk
    tknzk 2010/04/05
  • grep(1)コマンドの使い方 | エンタープライズ | マイコミジャーナル

    The main aim is to document the hurdles that most of us face as UNIX/Linux/BSD sys admin in our day today life. LinuxやFreeBSDでよく利用されるコマンドのひとつにgrep(1)がある。ファイルから特定のキーワードを含んだ行を取り出したりコマンド出力から特定のキーワードを含んだ行を取り出すために利用されるコマンドで、正規表現と組み合わせて利用されることが多い。多機能で単一行表示のみならず、前後の行を含んだ出力も可能など、使いこなせるとさまざまな操作が可能。 LinuxディストリビューションにはGNU grepが含められていることが多い。*BSD系では最近BSDライセンスで実装されたgrep(1)への置き換えが進められているが、それら実装系でもGNU grepと互換性が確保

    tknzk
    tknzk 2010/03/07
  • Vim-users.jp - Hack #129: 複数のファイルから検索する

    tknzk
    tknzk 2010/03/07
  • Tanablog: Vim7 内蔵の grep を使う

    Vim7 から、内蔵の grep プログラムが使えるようになっている。との情報を「grep を使いやすくする」のコメントでいただいた。結論から言うと内蔵 grep は便利。 vimgrep を使う Vim7 内蔵の grep を使うには :vimgrep コマンドを使えばよい。 :vimgrep /hogehoge/ *.txt 最初にマッチしたファイルを開かないようにするには j フラグを使う。 :vimgrep /hogehoge/j *.txt 再帰的に検索するには **(starstar) を使う。 :vimgrep /hogehoge/j **/*.txt 検索結果は Quickfixリストに表示される。:copen で開き :ccl で閉じることができる。詳細は :he quickfix-window。 vimgrep をデフォルトの grep プログラムとして使用する :gr

    tknzk
    tknzk 2009/02/10
  • Windows向けの正規表現検索、置換ツール·grepWin MOONGIFT

    Linuxでよく使われるコマンドの一つにGrepがあるだろう。ファイルの内容を調べながら検索してくれるので、関数を洗い出したり設定部分を見つけたりするのに役立つ。開発者の方であればその便利さはよく分かっているだろうし、それがWindowsにはなぜないのかとすら思うかも知れない。 Windowsらしい初心者にもやさしいGrepツール だがご安心を。もちろんWindowsにも存在する。しかもWindowsらしくGUIを使って分かりやすインタフェースで提供されている。それがgrepWinだ。 grepWinはGPLの下に公開されているオープンソース・ソフトウェアで、GUIを使ってGrepを実行し、さらに置換まで行ってくれるソフトウェアだ。 grepWinではファイルを探すディレクトリを指定し、検索文字列を設定する。もちろん正規表現が利用できるが、逆に使わずに検索することもできる。サブディレクトリ

    Windows向けの正規表現検索、置換ツール·grepWin MOONGIFT
  • grepで検索、ことはじめ - builder by ZDNet Japan

    grepは素晴らしいテキスト検索ツールだ。grepを使えば、ファイルに含まれているテキストでも、あるコマンドが出力したテキストでも、テキストであるものはすべて検索することが可能だ。また、grepでは単純な文字列のほかに正規表現を用いた検索もできるほか、利便性を考慮してさまざまな出力形式が用意されている。 たとえば、sshdが動作しているかどうかを調べるには、次のように調べるだろう。 $ ps ax | grep sshd この例では、パイプを用いてps axの出力をgrepの入力に接続しており、文字列sshdに一致する行がすべて出力される。この場合、grepはもちろん自分自身のプロセスも同じように出力してしまう。そこで、grepをもう一度実行し、文字列grepが含まれていないものを出力するようにしよう。 $ ps ax | grep sshd | grep -v grep -vオプションを

    tknzk
    tknzk 2007/12/25