2021-10-19
行毎に特定の文字列が入っているかを確認するのはgrepでできるけど、1行に複数回特定の文字列が出てくる場合はスクリプト言語を組み合わせたほうが簡単そうだった。RubyだとString#scanとRubyの起動オプションを使い ruby -n -e 'puts $_.scan(/対象文字の正規表現/)' で標準入力の中から1行の中に複数回特定の文字列が出てきたものを複数行として出力してくれる。例えば対象ファイルの中にある特定の文字列数を知りたい場合 cat 対象ファイル | ruby -n -e 'puts $_.scan(/対象文字の正規表現/)' | wc -l みたいにパイプを使って書ける。