タグ

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

  • pcregrepで複数行の文字列をマッチさせる - Qiita

    複数行にまたがる文字列をgrepで検索したいときには、 perlの正規表現が使えるpcregrepが便利です。 インストール CentOS6には標準でインストールされていますが、 CentOS7やAmazonLinuxの場合は、 pcregrepが含まれるpcre-toolsパッケージをインストールしてください。

    pcregrepで複数行の文字列をマッチさせる - Qiita
  • Linuxでファイル・標準出力の特定のキーワードだけハイライト表示させる | 俺的備忘録 〜なんかいろいろ〜

    LinuxMacを使っていて、tail -Fやcatを使用時に特定のキーワード(例えばerrorとか)だけをハイライト表示させたい時がある。 だからと言っても、そのキーワードのある行だけが表示されるのは困り、全ての行を表示させたい。 1.grepコマンドを使う そんな時でも、grepコマンドで対応することができる。 以下のように、「$(行末)」を指定しコマンドを実行することで、全ての行を表示させつつ対象のキーワードをハイライトさせることができる。 コマンド | grep --color=auto -e '$' -e 'キーワード' もしくは コマンド | grep -E --color=auto 'キーワード|$' キーワードを複数指定する場合、「-e」でつなげていくか、egrep方式であればパイプでつなげていけばいい。 以下、CentOS 7でやってみた結果がこちら。 なお、色を変更す

  • 先頭行だけ grep してファイル名を表示したい - 誰かの役に立てばいいブログ

    /usr/local/bin にある #!/usr/bin/python3 をみつけたい、場面です。 こんな感じ。 find /usr/local/bin -type file | xargs awk '/python3/ {print FILENAME} {nextfile}' 1行目だけ検査したらさっさと nextfile で次に移るので OK というわけ。 nextfile Stop processing the current input file. The next input record read comes from the next input file. FILENAME and ARGIND are updated, FNR is reset to 1, and processing starts over with the first pattern in the

    先頭行だけ grep してファイル名を表示したい - 誰かの役に立てばいいブログ
    decoy2004
    decoy2004 2016/02/01
    nextfile 初めて知った。
  • プリキュアで学ぶワンライナーWebスクレイピング - Qiita

    「確かに人事にはLinuxができる人が欲しいとは言ったが、まさか顔合わせでcurlとgrepでプリキュア全員の名前を端末で出力するような奴が来るとは思わなかった。」 — ぐれさん (@grethlen) 2014, 10月 21 クローラー/Webスクレイピング Advent Calendar 2015の7日目です。 IT企業を志望する就活生の方々は「FizzBuzzで100まで数えろ」とか「素数を表示しろ」とかいきなり言われても、得意な言語でならサクッと実装できるスキルは身につけておきたいですね。いつ面接で聞かれるかわかりません。 そして当然のごとく「プリキュア全員表示しろ」と言われても対応できるようにしておくべきでしょう。文字列処理、Webスクレイピングの基が身についているかどうかがこの問い一つでわかります。面接で既に出題された方も少なくないのでは? そこで、いくつかのアプローチでW

    プリキュアで学ぶワンライナーWebスクレイピング - Qiita
  • 文字コードを指定してgrepする。 - Qiita

    今時EUCのファイルなんて殆ど使わないが、grepせざるをえなくなったのでメモ。 コンソールはUTF8なのでそのままだとgrepできない。 ただ、やることは単純でnkfで検索したい文字をeuc-jpにしてファイルをgrep。 そして結果をUTF8にしているだけ。 ただし、LANG=ja_JP.eucjpにしないとeuc-jpでgrepができないので注意。 ちなみにgrepのバージョンは2.6。 ENVIRONMENT VARIABLES The behavior of grep is affected by the following environment variables. The locale for category LC_foo is specified by examining the three environment variables LC_ALL, LC_foo, L

    文字コードを指定してgrepする。 - Qiita
  • まもなくgrep 2.22リリース - 気ままなブログ

    GNU grep 2.22が近日中にリリースされる見込みとなりました。 GNU grep 2.22は、結果不正バグが見つかったことによるバグフィックスリリースです。そのため、目立った改善点はありませんが、それらを見ていくとともに、今後の見通しについて紹介します。 GNU grep 2.22における改善/バグフィックス 結果不正バグの修正 下記のパターンは、「hello」が行頭または行末に含まる行にマッチしますが、行内に「hello」が含まれているものにマッチしてしまっています。 $ echo aaahellobbb | grep -E '^hello|hello$' aaahellobbbこのバグは、GNU grep 2.19で行頭や行末にマッチさせる正規表現の高速化が行われた際に混入したものです。 バッファオーバーランの修正 固定文字列を検索をする時は、最初にパターンの最後の文字を検索し

    まもなくgrep 2.22リリース - 気ままなブログ
  • grepでログ解析をするなんてひどい話だ | POSTD

    今でも、 systemdのjournal におけるバイナリのストレージフォーマットに関して、不満を漏らす人が多くいることに私は驚きを隠せません。私は長年、システム管理者として働いてきており、1年以上も syslog-ng の オープンソースエディションのメンテナ として活動してきました。だからこそ、テキストではないストレージフォーマットに対して、なぜ多くの人が批判的なのか、私は理解に苦しんでいます。更に、反論を唱える人までいることが信じられません。もしかしたら、私は別世界の人間なのかもしれません。ですが、より良い選択肢があるのに、テキストのストレージを使う理由はほとんどありません。ロギングをする必要性、そしてなぜ、テキストのログストレージに対してそこまで用心深いのかについて、私は何度も尋ねられました。ここに、私が導き出した答えを紹介したいと思います。 これは、journalについて弁明する

    grepでログ解析をするなんてひどい話だ | POSTD
  • アプリを多言語化したいので、日本語が書いてある行をgrep検索で洗い出したい - Qiita

    ずっと日語メインで作ってきたアプリを、国際化して多言語をあつかえるようにしなければいけなくなりました。ソースコードにハードコーディングされている日語を洗い出す必要があります。 ひとつひとつファイルを精査していては時間がかかるので、grep検索でユニコード文字が使われている箇所を探して、そのリストをベースに国際化をしていくようにします。 普通のgrepコマンドでも探すことができますが、今回はgrepよりも高速なThe Sliver Searcherのagコマンドを使って探してみます。Silver Searcherでユニコードを検索するコマンドは次のようになります。

    アプリを多言語化したいので、日本語が書いてある行をgrep検索で洗い出したい - Qiita
  • 通常版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」 | ソフトアンテナ
    decoy2004
    decoy2004 2014/12/24
    『The Silver Searcherを上回る高速検索ソフトは存在しない様子。』
  • yum コマンドの出力は grep してはいけない (grep するには向いていない) - meta‘s blog(2013-10-30)

    筆者について FreeBSDを通じてOSSにささかな貢献を。 日xrdpユーザ会発起人 xrdp developer FreeBSD developer OSS活動をご支援いただける方を募集しています https://github.com/sponsors/metalefty ■ yum コマンドの出力は grep してはいけない (grep するには向いていない) grep してはいけないわけではないですが、yum コマンドの出力は grep するには向いていません。 普段は FreeBSD ばかりで久々に Linux を触っていたらハマったので備忘のために。 yum コマンドは RHEL 系の Linux ディストリビューションで、パッケージをあれやこれやするためのコマンドですが、とても人にやさしくできているために、人がそのまま目で見る以外の用途、シェルスクリプトの中で加工したり g

    yum コマンドの出力は grep してはいけない (grep するには向いていない) - meta‘s blog(2013-10-30)
    decoy2004
    decoy2004 2014/12/01
    『grep するなら yum の代わりに repoquery を使うといいよと RedHat の Bugzilla に書いてあるのを見つけました。』
  • grepコマンドに色をつける - 作業ノート

    $ grep --color=auto foo * colorオプションで該当部分やファイル名などを色づけする。 環境変数GREP_OPTIONSを設定すると、コマンド実行時に設定したオプションが適用される。 # ~/.bashrc export GREP_OPTIONS='--color=auto' # 実行時に--color=autoが適用される $ grep foo * GREP_OPTIONSを設定している状態でgrepコマンドにcolorオプションを指定すると、コマンドのオプションが適用される。 # GREP_OPTIONS='--color=auto' を設定していても--color=neverが適用される $ grep --color=never foo * colorオプションには、never(色をつけない)、auto(可能なら色をつける)、always(いつでも色をつける

    grepコマンドに色をつける - 作業ノート
  • git logでコミットの差分の中身で絞り込む - Qiita

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

    git logでコミットの差分の中身で絞り込む - Qiita
    decoy2004
    decoy2004 2014/08/19
    『各コミットの差分で追加されたり削除された行の内容で絞り込む-Sというオプションもあります。』
  • 備忘:UNIXコマンドの小ネタ - Qiita

    なんて打ってる人がいたら、aliasの存在を教えてあげよう。(大抵は"ll"で登録してある) aliasの内容は、~/.bashrcか~/.bash_aliasesで定義しておけばターミナル起動時から有効になる。 ぼくの.bash_aliases # Enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto'

    備忘:UNIXコマンドの小ネタ - Qiita
    decoy2004
    decoy2004 2014/08/05
    『-f オプションを使うとログのローテートなどでファイル名が変更された場合に追跡が終わってしまう。 --follow=nameにしておくと、ファイルが一旦消えても同名のファイルが再出現した場合に追跡を再開してくれる』
  • tailで文字列をハイライト表示する風 - Qiita

    アクセスログなど流速が早いログをtail -fしているときに特定文字列を見ておきたいときがあります。 grepしてもいいんだけど、それだと見逃すログがあるためlessコマンドで実現します。

    tailで文字列をハイライト表示する風 - Qiita
    decoy2004
    decoy2004 2014/08/01
    『-pは指定されたパターンをサーチするオプション。これを実行中にFを押します。これでtail -fと同じ動作になります。』
  • GitHub - peco/migemogrep: Search/grep against Japanese text using latin-1 text

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - peco/migemogrep: Search/grep against Japanese text using latin-1 text
  • grep的なPowerShellコマンドSelect-String - Qiita

    Unix系で使われるgrepに近いコマンドはないかと探したところSelect-Stringというコマンドがありました。 凝った使い方だと違いますが、概ねgrepの様にしていいようです。 CSVファイルに「D00」を含む行だけを表示させてみました。

    grep的なPowerShellコマンドSelect-String - Qiita
  • いまさらgrepが10倍高速化したのはなぜか – はむかず!

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

    decoy2004
    decoy2004 2014/02/25
    正規表現を使うことで高速にしたそうだ。発想は migemo に似ている。
  • 文字列検索コマンド「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
  • Go言語でag(The Silver Searcher)ライクな高速検索ツールをつくった。EUC-JP/Shift-JISも検索できマス。

    いまや高速パターン検索といえばag(The Silver Searcher)ですが、検索対象がUTF-8のテキストを前提としているため、EUC-JPやShift-JISといったファイルを検索するのに課題があります。 これまで、それらの日語文字セットを検索できるようにするため、色々とagの改造、公開を行っていました。 ag(The Silver Searcher)でEUC-JP/Shift-JISのファイルも検索できるようにしてみた 日語圏特化型ag -白金- の配備が完了しました しかし、特定の国の文字コードだけに特化した修正というのをmasterに取り込んでもらうわけにもいかず、派生ブランチとして追随するのも、やはり面倒… そこで年始にGo言語を触ったのをきっかけに、Go言語でパターン検索ツールをつくってみました。 せっかくなのでポストagを目指して、プラチナサーチャー(The Pl

    Go言語でag(The Silver Searcher)ライクな高速検索ツールをつくった。EUC-JP/Shift-JISも検索できマス。
  • Linuxで2つのファイルの共通行を出力する - 元RX-7乗りの適当な日々

    機会があったので、調べてみました。 2ファイルの差分はdiffコマンドで取るけど、その逆の共通している部分はどうやって取得するのか。エレガントなやり方はやっぱりgrepコマンドを使うのかしら? 前提 $ diff -c5 {a,b}.txt *** a.txt 2013-08-28 18:54:49.293055071 +0900 --- b.txt 2013-08-28 18:53:58.517693404 +0900 *************** *** 1,6 **** 1 - 2 3 5 5 6 --- 1,6 ---- 1 3 + 4 5 5 6こういう2つのファイルがあったとして・・・ grepで $ grep -x -f {a,b}.txt 1 3 5 5 6grepコマンドの"-x"オプションを使うと、こんな感じで、2ファイルの共通部分が出力される。 -x, --line

    Linuxで2つのファイルの共通行を出力する - 元RX-7乗りの適当な日々