テキスト(ファイル)から絵文字を含む行だけ検索したい、みたいなのを雑にやるには POSIX 文字クラス [:ascii:]
が使える。
GNU grep が必要。macOS 標準の grep ではだめなので brew install coreutils
したうえで ggrep
を使うこと。
grep -aP '[^[:ascii:]]'
あるいは ripgrep を使う。
rg -aNP '[^[:ascii:]]'
文字クラスは []
の間に書く。[^x]
で x 以外にマッチ、という記法。[:ascii:]
POSIX 文字クラスは ASCII の範囲の文字にマッチする。これを組み合わせて [^[:ascii:]]
で ASCII の範囲外の文字にマッチする正規表現になる。
実用例(あまり実用的ではないが)。
Commits · atom/atom · GitHub のコミットログメッセージから絵文字が含まれる行を検索する。
❯ git log --format='%B' | ggrep -aP '[^[:ascii:]]' | head -n 30 ⬆️ electron-packager to 15.1.0 in /script ⬆️ electron-packager to 15.1.0 in /script ⬆️ Pr-changelog@0.3.4 ⬆️ language-php@0.48.1 ⬆️ marked to 4.0.10 in packages/deprecation-cop (#23484) * ⬆️ deprecation-cop@4.0.10 * ⬆️ deprecation-cop 4.0.10 ⬆️ Bump language-css@0.45.1 ⬆️ Bump atom-select-list@0.8.1 ⬆️ Bump minidump@0.22.0 ⬆️ Bump archive-view@0.66.0 ⬆️ Bump find-and-replace@0.219.8 ⬆️ Bump whitespace@0.37.8 ⬆️ Bump tree-view@0.228.3 ⬆️ normalize-package-data@3.0.2 ⬆️ git-utils@5.7.1 ⬆️ chai@4.3.4 ⬆️ focus-trap@6.3.0 * ⬆️ Bump minidump @aminya/minidump@0.19.0-8 📝 Update Contributing.md (#20707) 🍎 Don't quit upon 'window-all-closed' event on macOS (#21847) ⬆️ postcss@8.1.6 ⬆️ find-and-replace@0.219.7 ⬆️ electron-osx-sign@0.5.0 ⬆️ tree-view@0.228.2 ⬆️ sinon@9.2.1 ⬆️ temp@0.9.2 ⬆️ resolve@1.18.1 ⬆️ chart.js@2.9.4 ⬆️ postcss@8.1.2
古いコミットログには絵文字以外の ASCII 範囲外の文字も結構混ざっていてノイズが多い。