タグ

grepに関するrichard_rawのブックマーク (28)

  • JSON を行単位にわかりやすく展開してくれるコマンド gron がピンポイントでとても便利

    JSON を行単位にわかりやすく展開してくれるコマンド gron がピンポイントでとても便利 2022-06-13-1 [Programming] コマンドラインでの JSON の操作には jq (軽量JSONパーサ)[2017-10-24-1] を使っています。万能で便利なんですが、奥まったところにある値だけを取りたいときとかちょっと面倒なんですよね。ちらっと値を見たいだけなのにおおげさになっちゃいがち。 ということで、 gron というのを使ってみました。 GitHub - tomnomnom/gron: Make JSON greppable!JSONをgrepしやすくするコマンドラインツールgronの紹介 - Qiitagronでjsonの扱いが楽になった話 – Tower of Engineers あ、これでいいや。 いわゆる「顧客(=私)が当に必要だったもの」だわ。 例えば、

    JSON を行単位にわかりやすく展開してくれるコマンド gron がピンポイントでとても便利
    richard_raw
    richard_raw 2022/06/14
    jq使いこなすの難しいな……と思っていたので助かります。
  • Windowsのcmd.exeからLinuxコマンドを使う際はエスケープ文字の使い方を覚える (1/2)

    wsl.exeを使うことで、cmd.exeからLinuxのコマンドを利用できるようになる。このときにcmd.exeのパイプ記号(バーチカルバー)「|」を使って、Win32側とLinux側のコマンドの出力を異なる環境側で処理することも可能だ。 単に相手側のコマンドを起動したり、パイプでデータを渡すことは難しくないが、相手側でもパイプ処理をしたり、複数のコマンドを起動させるとなると、特殊文字のエスケープなどが必要になる。 ここでは、cmd.exeからWSLを使いLinuxコマンドと連携させる方法を解説する。使い慣れたcmd.exeを使い、必要に応じてLinuxのコマンドを使いたいと思うこともある。cmd.exe側からLinux側のパイプ処理などを使うには、cmd.exeの特殊文字のエスケープが必要だが、規則は単純でそれほど難しくない。 なお、cmd.exeからWSL側のコマンドを起動するには、

    Windowsのcmd.exeからLinuxコマンドを使う際はエスケープ文字の使い方を覚える (1/2)
    richard_raw
    richard_raw 2022/03/22
    え、こういうことできたんか……。
  • grep の「バイナリファイル (標準入力) に一致しました」が出る条件を調べていたらそれは長い旅路の始まりだった。

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

    grep の「バイナリファイル (標準入力) に一致しました」が出る条件を調べていたらそれは長い旅路の始まりだった。
    richard_raw
    richard_raw 2020/10/07
    ……遠いな!/あれ、ログローテートって言うんですね(無知)
  • Big Sky :: golang でメモ専用コマンド「memo」作った。

    « Ruby の a = a + 1 はなぜ undefined method '+' for nil:NilClass なのか | Main | Ruby の Array#<< は Array#push よりも速いか » 僕は日々 memolist.vim という Vim plugin を使い、仕事で思いついた疑問点や会話の一部をメモ取りする様にしています。相手と会話している最中に「あ、ここ大事だ」と思ったら vim を起動して :MemoNew してメモを編集していました。もちろん Vim ですから起動は抜群に速くてとてもご機嫌良く動くのですが、どうしてもこれをシェルから扱いたいという要求に負けてささっと作ってみました。 GitHub - mattn/memo: Memo Life For You README.md memo Memo Life For You Usage NAME:

    Big Sky :: golang でメモ専用コマンド「memo」作った。
    richard_raw
    richard_raw 2017/03/17
    便利そう。
  • SmoothCSV

    Welcome to SmoothCSV SmoothCSVとは SmoothCSVは高機能・高性能なCSVファイルエディターです。 さまざまな形式・文字コードのCSV/TSVファイルの編集をサポートします。 また、SQLによるデータ抽出などの便利な機能があります。 News 2018/04/15 SmoothCSV 2 ベータ版を公開しました。 2016/07/22 SmoothCSV 2 アルファ版を公開しました。 2015/01/25 Version1.0.7をリリースしました。 2014/09/10 Version1.0.6をリリースしました。 2014/01/26 Version1.0.5をリリースしました。 2014/01/10 Version1.0.4をリリースしました。 2013/12/14 Version1.0.3をリリースしました。 2013/12/14 近いうちにその

    richard_raw
    richard_raw 2016/02/17
    CSVエディタ。SQLなどが使えるパワフルなやつ。
  • grepを読者に300回打たせる「シェルプログラミング実用テクニック」予約開始ということでシェル芸で紹介します。 – 上田ブログ

    ビール区切りデータで遊んで油断してたら拙著「シェルプログラミング実用テクニック」の予約がAmazonで始まりました。このは前作「シェルスクリプト高速開発手法入門」よりも「シェル芸」特化型です。 ということで、TeXで書いた書の原稿をシェル芸でいじくるという体裁で紹介していこうと思います。 補足1: 最初の原稿なので若干入れ替えや修正があります。 補足2: かえって逆効果かもしれん。 目次はこんな感じです。 uedambp:SD_BOOK ueda$ cat sdbook.tex | grep -h include | sed 's/.*{//' | sed 's/}/.tex/' | xargs grep -ho 'chapter{.[^}]*}' | sed 's/.*{//' | tr -d '}' はじめに 準備運動 不定型な文章や設定ファイルの検索と加工 ファイルの取り扱いとシ

    richard_raw
    richard_raw 2015/04/17
    前作よりもシェル芸特化型ということで、私にはこっちの方が向いているかも。……電子版はないのかしら。
  • Lessの便利な使い方

    最近 Stop using tail -f (mostly) や 「tail -f」を使うのは情弱、情強は「less +F」を使う などless押しな記事が幾つか上がっているんだけど、タイトルが煽り気味なのか若干反感を呼んでいるようなのでless派が職場で肩身の狭い思いをしないようにもう少し便利な使い方を紹介したい。 tail -fの様なScroll forward less +Fで起動またはless起動中にF 元記事にもあるtail -fと同様の振る舞い。正直この機能と検索だけでいいのであればtailで十分。lessの便利なところは様々な機能との組み合わせにあって、これから紹介する機能は基的にこのモードと組み合わせが可能だ。あと、less開いてFのほうがタイプが面倒くさくないのでおすすめ。 1行で表示する (改行しない) less -Sで起動またはless起動中に-Sr(-Sでモード切

    Lessの便利な使い方
    richard_raw
    richard_raw 2015/04/07
    右端で折り返さないとかマッチした行だけ表示とか全く知りませんでした!
  • それ PowerShell でできるよ - Qiita

    Summary 普段使い用 PowerShell メモ 思惑 個人的には、 PowerShell はスクリプトをゴリゴリ書くよりも、 ちょこちょこ作業するのに向いていると思っている。 ただ、しばらく使っていないと忘れたりするので、そういうものをまとめてみる。 Linux で、grep とか使って、よくやりそうな感じのやつ。 共用パソコンなどの自分の環境以外でも使えることを想定しているので、 できるだけデフォルトの状態で、できるものに限定する。 また、普段使い想定なので、タイプ数を減らすのを優先していたりするので、 PowerShell の文法的には微妙なところも多少ある。 grep それ Select-String でできるよ

    それ PowerShell でできるよ - Qiita
    richard_raw
    richard_raw 2014/08/28
    eject出来るんだー。/ついついVagrantでなんとかしてしまうけどブックマーク。
  • 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も検索できマス。
    richard_raw
    richard_raw 2014/07/01
    EUC-JP, Shift-JISにも対応した特化型ag。Go製。
  • GNU grep 2.18リリース: 10倍速くなったと思ったら今度は200倍遅くなっていた | はむかず!

    先日の記事 いまさらgrepが10倍高速化したのはなぜか が思わぬ閲覧数を稼いでしまい、トルコ語の知識を日に広めるのに大きな貢献をしたような気がしますが、みなさんいかがお過ごしでしょうか。 実は先日の記事を書いた時にはすでに2.18がリリースされてたのだが、今回は2.17のときと違って日の大手メディアが取り上げてなかったので、ついつい見落としていた。しかし実は2.18でも大きな変更が!! リリースノート抜粋: grep -i in a multibyte, non-UTF8 locale could be up to 200 times slower than in 2.16. [bug introduced in grep-2.17] なんということでしょう。-iオプションでUTF8のときは2.17で10倍速くなっていたのだが、それ以外のマルチバイトロケールのときは200倍遅くなって

    richard_raw
    richard_raw 2014/02/27
    あの変更でUTF8以外では200倍遅くなっていた模様。文字コードの闇こわいです><
  • いまさらgrepが10倍高速化したのはなぜか – はむかず!

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

    richard_raw
    richard_raw 2014/02/25
    そう言えばLANG=Cで速くなるという話は聞いたことがあったような。大文字と小文字でバイト数が違うコーディングか……。
  • 文字列検索コマンド「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
    richard_raw
    richard_raw 2014/02/20
    枯れたツールだと思ってたら10倍だと……!
  • UTF-8にもいろいろある - ザリガニが見ていた...。

    前回からの続き。 改行コードの違いを体感してみる - ザリガニが見ていた...。 文字エンコードとロケールを体感する - ザリガニが見ていた...。 改行コードの違いも知った。文字コードとロケール、ターミナルの言語環境との関係も知った。これで文字にまつわる悩みとはおさらばできると思ったら、まだダメだった...。 実験環境 OSX 10.8 Mountain Lion以前((OSX 10.9 Mavericksでは、Mac仕様なNFDのUTF-8を表示しようとするとエラーになってしまったため、10.8以前の環境で実験した。Assertion failed: (width > 0), function conv_c, file /SourceCache/shell_cmds/shell_cmds-175/hexdump/conv.c, line 137. ** ** Abort trap: 6

    UTF-8にもいろいろある - ザリガニが見ていた...。
    richard_raw
    richard_raw 2013/11/25
    Macはね、濁点がね……。
  • Use multiple CPU Cores with your Linux commands - awk, sed, bzip2, grep, wc, etc. - RankFocus - Systems and Data

    richard_raw
    richard_raw 2013/11/01
    そういえばHomebrewでGNU Parallelをインストールしてたけど殆ど使ってませんでした。こういう使い方なんですね。
  • データ集計コマンドを極めてシステム処理と業務速度を爆速化するお話 - Y's note

    Index データ集計コマンド 爆速で検索したいぜ! lookを使う LC_ALL=Cを設定する データのランダムサンプリングがしたいぜ! sedを使う awkを使う sortの--random-sortを使う Script言語を使う shufを使う ランダムサンプリング速度比較 合計と平均値を集計したいぜ! 列データ取得 重複行のカウント 合計値出力 平均値出力 複数ファイルのデータ結合がしたいぜ! 共通項目での結合 同じ行数での結合 まとめ データ集計コマンド joinコマンドが便利過ぎて生きるのが辛い - Yuta.Kikuchiの日記 lookコマンドによる二分探索が速すぎて見えない - Yuta.Kikuchiの日記 今日はデータ集計を行う上で絶対に覚えておいた方が良いコマンドと知識を紹介したいと思います。これを身につければシステム処理と業務効率化に大きく繋がると思います。この記

    データ集計コマンドを極めてシステム処理と業務速度を爆速化するお話 - Y's note
    richard_raw
    richard_raw 2013/08/01
    lookコマンド。/LC_ALL=Cで高速化。/shufコマンドでランダムサンプリング。/pasteはよく使ってます。/grepの替わりにack or 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

    richard_raw
    richard_raw 2013/03/09
    ackも使ったこと無かったけどこれにしようかな。/"brew install ag" でインストール出来るっぽいですよ。
  • 正規表現メモ

    \x{} \pは後続する名前が表すクラス(プロパティ、スクリプト、ブロック)に属する文字にマッチし、 \Pは後続する名前のクラスに属さない文字にマッチします。 クラスの名前が一文字のときはブレースを省略できます。 クラス名の前に^を置くことにより否定形の指定を行うことも可能です。 Perl 5.8 での変更点 Perl5.8以降(5.6でも使えたようですが)では \pや\Pで始まるプロパティ指定に標準Unicode属性を使うこともできます。 詳しくは perlunicode perlunicode - Perl における Unicode サポート を参照してください。 日語による説明が Unicodestandard にもあります。 Perl 5.8以降ではユーザーが任意のプロパティを作成することができます (IsまたはInを必ず前置)。 詳しくは perlunicode perluni

    richard_raw
    richard_raw 2012/10/09
    grepで正規表現を使いたかったので。
  • 若者が知らない最強のLinuxコマンドTips - すがブロ

    タイトルは釣りぽよ〜 今日ここで書くのはわりかし最近知ったことだったりするのが多いんですが、せっかくなので書いておこうかなぁと思った次第です。Linuxって書いてるけど、普通にMacでも使えるハズです。 知ってる人にとってはアタリマエのことですけどね……。 ファイルサイズの桁でかすぎてがわからん ls とか duあたりで使える話ですね。 ファイルサイズが大きすぎてパッと見わからないよっていうことってあるじゃないですか。ありますよね。いやある。 そんな時は -h オプションを使いましょう。 $ ls -l /var/log/nginx/access.log -rw-r--r-- 1 root root 1897381 8月 26 02:50 2012 /var/log/nginx/access.log $ ls -lh /var/log/nginx/access.log -rw-r--r--

    richard_raw
    richard_raw 2012/08/28
    sshってそういう風にも使えるんですね。
  • Coccigrep – To Linux and beyond !

    Introduction coccigrep is a semantic grep for the C language based on coccinelle. It can be used to find where a given structure is used in code files. coccigrep depends on the spatch program which comes with coccinelle. Download and source Latest version is 1.13: coccigrep-1.13.tar.gz The source can be accessed via github. Examples To find where in a set of files the structure named Packet is use

    Coccigrep – To Linux and beyond !
    richard_raw
    richard_raw 2011/09/30
    C言語のためのsemantic grep
  • 突然のTwitter砲にもなんとか耐えたさくらVPSに感謝する - As a Futurist...

    なんか、2/6 の夜に「修士論文の代わりに退学願を提出してきた」が Twitter でばずったらしく、Yahoo 砲よろしく突如としてアクセスが集中しました。下の方にリソースモニタリングのグラフを貼りつけてますが、今までがほぼ 0 に見えてしまうくらいに来てたのでびっくりでした。 まぁ色々コメントつけて頂いたりしてますが、もう2 年も前なんでこのエントリについて今更僕から突っ込むことは無くて、あのエントリはあのエントリとして見て頂ければと思います。ここでは今回そんな突然のアクセス集中にも見事耐えてくれたさくら VPS に感謝しつつ、アクセス集中の状況を鯖管的立場から分析してみましょう。 ちなみに、以前エントリに書いていますがサーバの構成としてはさくら VPS1 台で、CentOS+Apache+mod_fastcgi+PHP-FPM+MySQL5.5(InnoDB)で WordPress

    突然のTwitter砲にもなんとか耐えたさくらVPSに感謝する - As a Futurist...
    richard_raw
    richard_raw 2011/02/08
    おー、ほぼやったこと無いのになんだか懐かしいログ解析。awkで取りだしてcut|sort|uniq