grepについて#histudy Vol.17
自己紹介@shora_kujira16大学2年生 (工学部)圧力に屈してKeynoteを買いました
これから話すことgrepが便利な場面最低限覚えておきたいオプションackやagについて
grepとは文字列検索系のコマンド指定した文字列を含む行 or指定した正規表現にマッチする行 を抽出するオプションをよく忘れる (重要)
コマンドの基本grep [オプション] 検索パターン [対象ファイル]
使用例1今いるディレクトリ以下にあるファイルの中で"#pragma omp" を含むファイルを探したい$ grep -r "#pragma omp" .-r: 指定したディレクトリ直下だけでなく、その下にあるディレクトリも再帰的に検索
使用例2リアルタイムにログをフィルタリングしたい$ tail -f error_log | grep --line-buffered"error"--line-buffered: バッファせずに1行ごとに出力
覚えておきたいオプション-R, -r: ディレクトリを再帰的に-E, -F, -G, -P: 正規表現の設定 (後述)-n: マッチした行番号を表示する-v: マッチしなかった行を表示する-i: 大文字小文字を無視
正規表現の設定デフォルトは-G (--basic-regexp)?|(){} にはが必要-E (--extended-regexp) にすると不要-P (--perl-regexp) では w, d なども使える-F (--fixed-strin...
デフォルト設定の変更.bashrc や .zshrc に GREP_OPTIONS を書くことで、デフォルト設定を変えられる私はGREP_OPTIONS="-FIr --color=auto"にしたコマンドラインオプションが優先される
ackやagについてgrep +α のコマンドについての話題を最近良く見かけるので紹介します
ackPerl製。sudo apt-get install ack-grep (Debian)-rがデフォルト。.gitや.svnを無視する機能も--php と指定すると、PHP関連のファイルだけを対象にしてくれる (設定の追加も可能)
agコマンドはagだけど、本当の名前はThe Silver Searchergrepに比べてめっちゃ速いらしい(アルゴリズマーとしては気になるところ)sudo apt-get install silversearcher-ag※ただしunsta...
移行するべき?自分のシェルの履歴と相談find ... | grep -v ... | xargs grep ...みたいなのが多いなら、幸せになれるはず私の場合はそんなに多くなかったgrep -r --include="*.c" ... でも割...
まとめ最低限の機能は知っておこう(知らない機能は調べるのが難しい)GREP_OPTIONS を有効に使おうackやagのことを覚えておいてくれるとうれしいな
Upcoming SlideShare
Loading in …5
×

grepについて

1,565 views

Published on

姫路IT系勉強会 Vol.17 LT資料

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,565
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
7
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

grepについて

  1. 1. grepについて#histudy Vol.17
  2. 2. 自己紹介@shora_kujira16大学2年生 (工学部)圧力に屈してKeynoteを買いました
  3. 3. これから話すことgrepが便利な場面最低限覚えておきたいオプションackやagについて
  4. 4. grepとは文字列検索系のコマンド指定した文字列を含む行 or指定した正規表現にマッチする行 を抽出するオプションをよく忘れる (重要)
  5. 5. コマンドの基本grep [オプション] 検索パターン [対象ファイル]
  6. 6. 使用例1今いるディレクトリ以下にあるファイルの中で"#pragma omp" を含むファイルを探したい$ grep -r "#pragma omp" .-r: 指定したディレクトリ直下だけでなく、その下にあるディレクトリも再帰的に検索
  7. 7. 使用例2リアルタイムにログをフィルタリングしたい$ tail -f error_log | grep --line-buffered"error"--line-buffered: バッファせずに1行ごとに出力
  8. 8. 覚えておきたいオプション-R, -r: ディレクトリを再帰的に-E, -F, -G, -P: 正規表現の設定 (後述)-n: マッチした行番号を表示する-v: マッチしなかった行を表示する-i: 大文字小文字を無視
  9. 9. 正規表現の設定デフォルトは-G (--basic-regexp)?|(){} にはが必要-E (--extended-regexp) にすると不要-P (--perl-regexp) では w, d なども使える-F (--fixed-strings) は正規表現無効単純に、文字列だけで検索を行う
  10. 10. デフォルト設定の変更.bashrc や .zshrc に GREP_OPTIONS を書くことで、デフォルト設定を変えられる私はGREP_OPTIONS="-FIr --color=auto"にしたコマンドラインオプションが優先される
  11. 11. ackやagについてgrep +α のコマンドについての話題を最近良く見かけるので紹介します
  12. 12. ackPerl製。sudo apt-get install ack-grep (Debian)-rがデフォルト。.gitや.svnを無視する機能も--php と指定すると、PHP関連のファイルだけを対象にしてくれる (設定の追加も可能)
  13. 13. agコマンドはagだけど、本当の名前はThe Silver Searchergrepに比べてめっちゃ速いらしい(アルゴリズマーとしては気になるところ)sudo apt-get install silversearcher-ag※ただしunstableに限る
  14. 14. 移行するべき?自分のシェルの履歴と相談find ... | grep -v ... | xargs grep ...みたいなのが多いなら、幸せになれるはず私の場合はそんなに多くなかったgrep -r --include="*.c" ... でも割と何とかなるし...
  15. 15. まとめ最低限の機能は知っておこう(知らない機能は調べるのが難しい)GREP_OPTIONS を有効に使おうackやagのことを覚えておいてくれるとうれしいな

×