Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

grepに関するn2sのブックマーク (24)

  • grep の「バイナリファイル (標準入力) に一致しました」が出る条件を調べていたらそれは長い旅路の始まりだった。

    はじめに 昨今では1行につき、1つの JSON を出力する様なログファイル形式も珍しくはありません。 grep しやすい データベース化しやすい これらの理由で各所で多く使われています。僕も仕事で普通に使っているのですが、ある日突然そのログファイルを集計するスクリプトで以下の様なエラーが出始めました。

    grep の「バイナリファイル (標準入力) に一致しました」が出る条件を調べていたらそれは長い旅路の始まりだった。
    n2s
    n2s 2020/10/06
  • 第579回 高速で便利なgrep「ripgrep」を活用する | gihyo.jp

    数多くあるUnixコマンドの中でも、もっとも利用頻度の高いもののひとつがgrepではないでしょうか。設定ファイルやログから該当する箇所を調べたり、ソースコードを検索したり、あるいはパイプラインのフィルタとして利用したりと、あらゆる場面で活躍する超基ツールです。 とはいえgrepは機能がシンプル過ぎるため、もう少し空気を読んだ、賢い検索をしてくれる代替ツールもまた数多く存在します。たとえば連載287回ではThe Silver Searcher(ag)を紹介しました。 とはいえこれはもう6年も前の記事です。ag以降も、いろいろな検索ツールが登場しています。そこで今回はさらに高速な検索ツールである、ripgrepを紹介します。 ripgrepとは ripgrepとは、公式サイトによると「ripgrep recursively searches directories for a regex

    第579回 高速で便利なgrep「ripgrep」を活用する | gihyo.jp
    n2s
    n2s 2019/07/30
  • GNU grepであいまいな文字列(1文字違いor1文字ずれている文字列)の検索をさせる | 俺的備忘録 〜なんかいろいろ〜

    Typoしたものが大半なのだけど、指定した文字列とN文字違ったり、1文字ずれている(「あいうえお」→「いあうえお」みたいな)文字列をヒットさせたいということがごくごくたま~にあって、それをgrepでときどきやっている。 個人のマシンではfunctionを作ってあるのだけど、たま~にリモートマシンで使うとき(+ローカルのrcファイルを読み込ませてない時)なんかにはその場でコマンドを組み合わせたりしているので、備忘で残しておく。 1文字違う文字列をgrepする 指定した文字列から1文字違う文字列をgrepする場合、以下のようにする。 echo 検索対象文字列 | grep -f <(echo 検索文字列 | grep -o . | awk '{a=$0=a$0}END{for(i=1;i<=NR;i++){print gensub(/./,".",i)}}') blacknon@BS-PUB-

    n2s
    n2s 2019/01/08
  • git-grepの使い方 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    git-grepの使い方 - Qiita
    n2s
    n2s 2018/12/28
  • GitHub - tomnomnom/gron: Make JSON greppable!

    Make JSON greppable! gron transforms JSON into discrete assignments to make it easier to grep for what you want and see the absolute 'path' to it. It eases the exploration of APIs that return large blobs of JSON but have terrible documentation. ▶ gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page=1" | fgrep "commit.author" json[0].commit.author = {}; json[0].commit.author.date = "2

    GitHub - tomnomnom/gron: Make JSON greppable!
    n2s
    n2s 2018/04/06
  • mysqlgrep - 任意のテーブル、カラムを検索するMySQL用Grep MOONGIFT

    システムのコードが入ったリポジトリでgrepを使って検索するというのはよくあることです。全体の中にどこに該当するテキストがあるのか分からない場合、まずは全体を探してみるでしょう。 今回紹介するmysqlgrepはMySQLで使えるGrepです。テーブルを指定する必要もなく、一気に検索できます。 mysqlgrepの使い方 mysqlgrepのヘルプです。 $ ./mysqlgrep Usage: mysqlgrep -u username -h hostname -d database -t table pattern -u username : mysql username to connect with (default: root). -h hostname : hostname of mysql server to connect to (default: localhost).

    mysqlgrep - 任意のテーブル、カラムを検索するMySQL用Grep MOONGIFT
    n2s
    n2s 2016/08/26
  • ICgrep – Parabix

    icGrep: The Modern Grep Replacement Building off the Parabix transform representation of text as well as the highly-regarded LLVM compiler infrastructure, icGrep is the modern replacement for the venerable grep utility, offering fundamentally parallel and consistently high-performance search as well as broad support for Unicode regular expressions. icGrep embodies a completely new algorithmic appr

    n2s
    n2s 2015/11/14
  • 通常版grepより100%高速なgrep実装「grab」 | ソフトアンテナ

    ファイルの中身を文字列で検索することができるユーティリティ「grep」は、コンピューターを扱う上で、なくてはならないツールといっても過言ではないかもしれません。grepは長い歴史を持つツールで、それ自体少しづつ改良さてきていますが、最近はもっと積極的に高速性を追求したgrep的なツールも開発されてきています。 今回紹介する「grab」もその中の一つ。複数コアを使った検索の並列化や(ただしほとんどの場合遅くなるらしい)、mmapMAP_POPULATEの使用、PCREのJIT機能などを使った高速化の技法を組合せ、SSD上で100%の劇的なパフォーマンスの向上を成し遂げたということです。 しかしさらに上手が… Hacker Newsで「grab」の話題が取り上げられた後、高速化grepの先駆者、「The Silver Searcher」(コマンド名ag)の作者が自らベンチマークを行い、gra

    通常版grepより100%高速なgrep実装「grab」 | ソフトアンテナ
    n2s
    n2s 2014/12/23
    agよりは遅いのか…
  • qrep – querySelectorAllを使ったgrep

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました grepは便利ですよね。ターミナルで操作している時には欠かせないコマンドですし、Emacsなどのエディタからもよく使われます。こんなツールが他のパターンでも使えると便利だと思うこともあるでしょう。 そのパターンの一つにHTMLがあります。HTMLのクラスやIDで検索するのにgrepは向いていません。そこで使えるのがqrepです。 qrepの使い方 qrepのインストールはnpmコマンドで行います。 $ npm install -g qrep これで準備完了です。 例えば標準入力から検索します。 $ curl -s -L http://www.moongift.jp/ | qrep title <title>オープンソースを毎日紹介 MOONGIFT</title> このようにしてt

    qrep – querySelectorAllを使ったgrep
  • 多重 grep のアルゴリズム - Qiita

    Help us understand the problem. What are the problem?

    多重 grep のアルゴリズム - Qiita
    n2s
    n2s 2014/06/11
    !?
  • faketimeで任意の日時でコマンド実行 - jarp,

    ■ sshでSendEnvをキャンセルさせるには sshするとLANG等が勝手に引き継がれるのは、Ubuntuだと/etc/ssh/ssh_configに SendEnv LANG LC_* と書いてあるからだとわかったが、これをやめる方法が見つからない。 ぐぐってみるとなんとほんとにないそうだ。 Bug 1285 – provide fallback options /etc/ssh/ssh_config 2007年に報告されている。最後の2013年11月には Damien Miller 2013-11-16 02:03:24 EST Created attachment 2375 [details] Add UnSendEnv option This adds an UnSendEnv option that allows cancelling SendEnv. It supports

    n2s
    n2s 2014/03/17
  • いまさらgrepが10倍高速化したのはなぜか – はむかず!

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

    n2s
    n2s 2014/02/25
  • GNU grep - ときどきの雑記帖″ 2014年2月(中旬)

    ■_ Amazon.co.jp: 入門 コンピュータ科学 ITを支える技術と理論の基礎知識: J. Glenn Brookshear, 神林靖, 長尾高弘: を見かけたのでぱらぱらと眺めたのだけどよさげ。 入門 コンピュータ科学 にあるように 入門 コンピュータ科学 内容 UCバークレイ、ハーバード大学をはじめ全米126校で採用され続ける定番教科書! 米国大学の教養課程で使用されているコンピュータ科学の定番教科書。これからコンピュータ科学を学ぼうとして いる学生および大学でコンピュータ科学を学ばなかった社会人プログラマのための独習書として最適です。 というもので、目次もこうだから。 入門 コンピュータ科学 目次 第0章 序章 0.1 アルゴリズムの役割 0.2 計算の歴史 0.3 アルゴリズムの科学 0.4 抽象化 0.5 書の構成 0.6 社会的影響 第1章 データストレージ 1.

    n2s
    n2s 2014/02/20
  • 文字列検索コマンド「grep 2.17」リリース | OSDN Magazine

    GNU Projectのgrep開発チームは2月17日、最新安定版「grep-2.17」をリリースした。パフォーマンスの向上が行われており、「10倍の高速化」が実現されているという。 grepはファイルから特定のパターンを検索するツールで、「global regular expression print」の略。正規表現による検索も可能で、多くのUNIX系システムで使われているほか、Windowsでも動作する。 grep 2.17は1月初めに公開されたバージョン2.16に続く安定版。7週間で8人の開発者より合計19のコミットがあったという。最大の特徴は性能。バッファモードの活用などにより、マルチバイト文字列に対し-iオプションを利用し、\または[が含まれていないパターンを検索する際の速度が10倍高速になったという。-iオプションを利用しない場合は、最大7倍程度の改善が可能だそうだ このほかg

    文字列検索コマンド「grep 2.17」リリース | OSDN Magazine
    n2s
    n2s 2014/02/19
  • Git grepを便利に使う-eオプションについて - Qiita

    outline git-grepの話 -eオプションの話 --andオプションの話 git-grepの話 UNIX系のOSを使ったことのある人ならみんな大好きgrepコマンド。 その拡張がgit-grepだ。 ふつうのgrepだと、指定したディレクトリ以下のファイル『全て』を検索対象としてしまうため、膨大な時間がかかることがよくある。そして時間を持て余してネットサーフィンしたりコンビニに買い物に行ったりする。そして帰ってきて見るとファイルが見つからなかったりして、貴重な労働時間をムダにするのである。 そこでgit-grepですよ git-grepは、gitで管理しているリポジトリの範囲内でgrepするコマンドだ。 何が違うかというと、 gitで管理しているリポジトリの中身「しか」検索できない その分ふつうのgrepと比べて圧倒的に速い というところである。 もちろんふつうのgrepも、ちゃ

    Git grepを便利に使う-eオプションについて - Qiita
    n2s
    n2s 2013/12/16
  • grepよりも速いackよりも速い「The Silver Searcher」 | ソフトアンテナ

    「The Silver Searcher」は、grepより速いackよりさらに高速なファイル検索ソフト(作者ブログ)。主にソースコードを対象にした検索ソフトで、次のような特徴があるようです。 ackより3〜5倍高速。 .gitignoreまたは.hgignoreからパターンを読み込みファイルを無視することができる。 検索したくないファイルがある場合、.agignoreファイルにパターンを追加できる。 コマンド名がackより短い(※agというコマンド名なので)。 Gentoo, OS X, ArchLinux、FreeBSD用のバイナリパッケージも用意されているので手軽に導入可能(ソースコード自体はCで書かれている様子)。TextMateやVimEmacsといったエディタからも利用可能みたいです。 ggreer@carbon:~/cloudkick/reach% du -sh 250M .

    grepよりも速いackよりも速い「The Silver Searcher」 | ソフトアンテナ
    n2s
    n2s 2013/07/16
    ag / このタイミングww 絶対id:entry:154394418 に対抗しただろwww
  • grepをよく使うプログラマはどう考えても乗り換えるべき新しいgrepコマンド「ack」:phpspot開発日誌

    Beyond grep: ack 2.04, a source code search tool for programmers grepをよく使うプログラマはどう考えても乗り換えるべき新しいgrepコマンド「ack」。 サーバに入ってコードを書いている人はかならず使うgrepですが、grepよりも高速に検索でき、git,svn等のソースコード以外のソースはgrepしないで検索できるツールらしいです。 Perlで書かれていて、Perlの強力な正規表現が使え、ハイライトしてくれます。ソースツリーの下で「ack 検索ワード」で検索するだけというシンプルさもいいです WEBサービスを書いているとhtmlphp等色々なソースをいじりますが、ファイルの検索対象も選べるため、便利です。 ack --php <検索ワード> でphpのソースのみを対象とし、ack --nophp <検索ワード>でphp

    n2s
    n2s 2013/07/16
    ack / agってのもあるよ / 「何の疑問もなく標準的コマンドを使っていると効率は上がってこないかも」「他のコマンドについても見なおしたほうがいいのかもしれませんね」他のツールでは実践しているのに…自戒
  • ackを捨てて、より高速なag(The Silver Searcher)に切り替えた - Glide Note

    Geoff’s site: The Silver Searcher: Better than Ack ggreer/the_silver_searcher · GitHub パターン検索にはackを利用していて、通常利用時には特に不満は無かったんですが、 ファイル数が多いディレクトリだと遅かったので、もっと他の方法が無いかと調べていたら ackの3〜5倍速いというThe Silver Searcherというものが あったので導入。 The Silver Searcherの特徴 公式に書いてあるThe Silver Searcherの特徴 ackの3〜5倍高速 .gitignore、.hgignoreに記載されているものを検索対象から除外 検索対象から除外したいファイルは.agignoreに記載 agというコマンド名で、ackと比べてコマンドが短い(33%減!) なぜ高速なのかは https

    n2s
    n2s 2013/03/01
    やackよりもさらに速いらしい、こちらはPCRE使用
  • ackを使おう! - tototoshi の日記

    みなさんgrepしてますか!? 便利ですよねgrep。自分はLinuxを触りはじめたころ、 grepを使いこなせるようになれば一人前だ って言われて、なにいってんのこの人きもいとか思ってないですよ全然。 まあ今となってはgrepをそれなりに使いこんでるわけですよ。 $ find . -name "*hoge" -type -f | grep -v '\.svn' | xargs grep piyopiyo とかやってね。 なんかfind|xargs|grepとかまさにUNIX的ですよね。素敵やん。 簡単なコマンドを組み合わせてでっかいことやっちゃう??みたいな?? めんどくせーよっ!!! ってことで、ackを使いましょう。 ack昨日知りました。 で、今日、使いはじめて2日目。 とりあえず、公式(Beyond grep: ack 2.12, a source code search too

    ackを使おう! - tototoshi の日記
    n2s
    n2s 2013/03/01
    よりも<del>速い</del>便利らしいPerl製ツール
  • git logでコミットの差分の中身で絞り込む - Qiita

    git logの検索オプションとしては、コミッタ名で絞り込む--authorやコミットメッセージの内容で絞り込む--grepが有名だと思いますが、各コミットの差分で追加されたり削除された行の内容で絞り込む-Sというオプションもあります。 似たようなコマンドとして、git blameもありますがこちらは現時点で存在する行が最後に更新されたリビジョンが分かるだけなので、git log -Sの方が ある特定の内容が削除されたリビジョンを知りたい時 ある特定の内容が更新されたリビジョン全てを知りたい時 といった場合に便利です。 使い方

    git logでコミットの差分の中身で絞り込む - Qiita
    n2s
    n2s 2013/02/17
    「git log -S"hogehoge"」