🔦
grep便利
grep
コマンド
上記の記事に書いてあるようにgrep
は対象から指定した文字列が含まれる行を表示してくれるコマンド。普段そんなに使ってなかったが便利な使い方ができることを知ったので今後積極的に使っていきたいと思っている。
該当行前後を表示する
全然オプションを深堀ってなかったので知らなかったが、該当行の前後も表示することができるらしい!嬉しい。
-
-line_num
: 該当行の前後を与えた数字分出力 -
-A line_num
: 該当行のより下を与えた数字分出力 -
-B line_num
: 該当行のより上を与えた数字分出力
例
# 該当行と前後3行表示
$ grep -3 hoge hoge.txt
# 該当行とその下を3行表示(上も同様)
$ grep -A 3 hoge hoge.txt
便利な設定で罠にハマらないために
あと--color
オプションで該当箇所の色を変えることができて便利。また、指定しなくても常に有効にしたい設定がある場合は環境変数を定義しておくと良い。zshを使ってるので.zshrc
に追記して、source
で反映。
export GREP_OPTIONS="--color=auto"
で、この便利な色つけるオプションはnever
(色つけない)、auto
(標準出力がターミナルに繋がってる時に色をつける)、always
(常に色つける)の3つ指定できる。always
を指定してる記事とかも見つかるが、特に理由がなければauto
を選択しておくべき。理由は、もし標準出力先がファイルだったりパイプしてるコマンドだったりすると、該当箇所に色をつけるためのエスケープコードが混入してしまい想定外の挙動となる可能性があるから。詳しくはリンクを参考に。
Discussion