マッチするファイルのリスト $ grep -l END *.sql マッチしないファイルのリスト $ grep -L END *.sql 参考 » grepのオプションおさらい TECHSCORE BLOG
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました JSONはXMLと比べると見やすいですが、そのままでは可読性があまり高くありません。システム用のフォーマットだからと言えばそれまでですが、開発中などは人が読む機会も多いはずです。 そこで使ってみたいのがgronです。JSONを変換したり、grepして読みやすくしてくれるコマンドです。 gronの使い方 まずは標準の方法です。curlで試します。 $ curl http://headers.jsontest.com/ { "X-Cloud-Trace-Context": "0ac332002030808158c7b73a49c2040b/14780520834203559118", "Host": "headers.jsontest.com", "User-Agent": "curl
grepはファイル中の文字列に対して正規表現を使って検索し表示するLinuxコマンドだ。 このページではgrepの基本操作を解説する。Linuxコマンドの中では使用することが多いコマンドだ。 ぜひ、この機会に使い方を理解してしまおう。 grepコマンドの基本 grepコマンドの基本動作 grepはファイル中の文字列を検索するコマンドだ。使い方は、次のとおりシンプルなものになっている。 $ grep 検索正規表現 ファイル名 grepでファイル内の文字を検索するにはこれだけだ。 例えば、workディレクトリ内のファイルすべての中からaという文字を検索する場合は、次のコマンドだ。 $ grep a work/* aの文字があるファイルとそれぞれの該当箇所が表示できた。 上記grepコマンドを試すなら下のコマンドをLinux上で実行すればすぐに再現可能だ。以下も同様。 mkdir work ec
/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
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
巨大なファイルの確認に便利なgrep grep使ってますか? grepやsed, exなどは、大きすぎてエディタで開けないようなときにとても便利です。 echo -e "Apple\nOrange\nGrape" | grep "Orange" # Orange tail -f /Application/MAMP/logs/php_errors.txt | grep "Error" ただ、例えば「PHP Notice」だけを除外するにはどうしたらいいか迷いますよね。 否定は grep -v 実は grep -v とすると否定になります。 echo -e "Apple\nOrange\nGrape" | grep -v "Orange" # Apple # Grape tail -f /Application/MAMP/logs/php_errors.txt | grep -v "PHP N
先日の記事 いまさら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倍遅くなって
GNU grepコマンドの最新版となる「grep 2.17」が公開された。GNU grepコマンドはテキストデータから指定したパターンに一致する行を取り出すといった用途に使われることが多いコマンドで、UNIX系のオペレーティングシステムで使われる頻度が高いコマンドのひとつ。grepコマンドには大文字と小文字を個別せずに一致させるという指定を意味する「-i」オプションを提供しているが、「grep 2.17」ではこの部分の処理を変更し、場合によっては10倍を超える高速化に成功したと説明がある。 現在ではLC_ALL=Cの状態ではなくマルチバイトロケールが設定された状態で使われることがほとんど。英語のみの使用であっても環境変数LANGにはCではなくen_US.UTF-8を指定するなどマルチバイトロケールが設定された状態で使われていることが多い。こうした状態で「-i」を使うと、マルチロケールに存在
Beyond grep: ack 2.04, a source code search tool for programmers grepをよく使うプログラマはどう考えても乗り換えるべき新しいgrepコマンド「ack」。 サーバに入ってコードを書いている人はかならず使うgrepですが、grepよりも高速に検索でき、git,svn等のソースコード以外のソースはgrepしないで検索できるツールらしいです。 Perlで書かれていて、Perlの強力な正規表現が使え、ハイライトしてくれます。ソースツリーの下で「ack 検索ワード」で検索するだけというシンプルさもいいです WEBサービスを書いているとhtmlやphp等色々なソースをいじりますが、ファイルの検索対象も選べるため、便利です。 ack --php <検索ワード> でphpのソースのみを対象とし、ack --nophp <検索ワード>でphp
「vim入門」系記事で解説されないためか、意外と使い方が知られていないvimgrep。 ファイルを開いては検索、開いては検索ってしてる? grepするためにvimから出てる? grep結果を見て改めてvimで開き直してる? それ、vimgrep使えば256倍早くなる(かも)よ。 簡単なまとめ vimgrepは… ファイルをまたいで検索できる grepやgit-grepよりは遅いので巨大プロジェクトでは検索対象を絞ったほうがいい ワイルドカード使うと簡単に絞り込める 繰り返し同じ対象から検索する場合はargument listを使うと捗る gitリポジトリではgit-ls-filesと組み合わせる 該当箇所に素早く移動&編集できる quickfix-windowと組み合わせると更に捗る この記事読むと分かること :vimgrepコマンドの使い方 :cwindowコマンドの使い方 :argsコ
日本語を扱っていて困るのがgrep。正規表現パターンにマルチバイト文字を混ぜられなかったり、windowsで動かすと"表"の様に2バイト目にbackslashが混じる文字で動作しなくなったりします。 さらに複数のエンコーディングで書かれたファイルが散らばっていると一度のgrepで検索出来なかったりもします。 vimに限っては、内蔵のvimgrepを使う事で解決出来ますが、見つかったファイルをバッファに開いてしまうという挙動がある為、grepオリジナルの動作を求めている人にとっては都合の悪い物だったりもします。 vimgrepの様に複数のエンコーディングに対応していて、検索パターンにマルチバイト文字を含んだ正規表現が使えて、windowsでもちゃんと動いて、ついでといっちゃあなんだが、"**/*.txt"で再帰検索してくれる様なgrep無いかなぁと思ってたんですが、やっぱり無いので作りました
Guides, HowTos and Tips for Technology Geeks - The Geek Stuff LinuxやFreeBSDなどのUnix系OSを使う場合に必須になるコマンドのひとつにgrep(1)がある。grep(1)は指定した文字列をファイルや標準入力から抜き出したり、またその逆の処理を行うなどの目的で利用されるコマンド。特定のキーワードを指定してファイルを特定するために利用されるほか、コマンド出力を加工したり、データを加工したりといった用途で使われている。 grep(1)はキーワードの指定に正規表現を指定できる。正規表現はgrep(1)の活用範囲をきわめて広くする重要な機能であり、grep(1)の基本的な使い方をマスターした後にぜひ習得しておきたい機能といえる。The Geek StuffのAdvanced Regular Expressions in Gr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く