はじめに
AIエージェントの台頭で調査や作業の多くを「AIに聞く」スタイルが当たり前になってきました。
とにかく便利で頼ってしまって当たり前なのですが、「AIが使えない場面だと途端に積んでしまう!漢字も書いていないと忘れちゃうし・・・」と急な不安が襲ってきている今日この頃でもあります。
AIは便利な道具ですが、結局のところ、道具を使いこなす力は自分の中にしかつかないですし、普段から手を動かして鍛えていないとなかなか本当の力はつきません。
障害対応時やAIに繋がらない環境、セキュリティポリシーで外部ツール禁止の現場——そんなときにサッとコマンドが出てくるかどうかで、エンジニアとしての地力が問われ、今後の大きな「差」として表れてくるのだろうと思います。
そんなわけで、自身のための振り返りも踏まえ、Unix系OS(RHEL/CentOSなど)を日常的に使うインフラエンジニアにとって必要な 「これは手入力できるくらいに慣れておけ!」 というコマンド例をテーマ別にまとめていこうと思います。
初心者の方は実際に叩いてみたり、どういうシーンで必要になるのか想像してみてください。
今回のテーマはgrep関連です。
※各コマンドは環境・権限等に併せて実行してください
grep
コメント行・空白行の削除
# #で始まるコメント行および空白行を削除
grep -v '^\s*#' filename | grep -v '^\s*$'
or
grep -v -e '^\s*#' -e '^\s*$' filename
再帰検索・複数ファイル
# ディレクトリ配下を再帰的に検索(ファイル名も表示)
grep -rl "検索文字列" /etc/
# 一致した行の前後5行も表示
grep -A 5 -B 5 "ERROR" /var/log/messages
# 大文字小文字を区別しない
grep -i "warning" /var/log/messages
# 一致した行数だけ表示
grep -c "Failed" /var/log/secure
# 一致しない行を表示
grep -v "^#" /etc/ssh/sshd_config
# 拡張正規表現を使う
grep -E "error|warning|critical" /var/log/messages
# 行番号付きで表示
grep -n "FAILED" /var/log/secure