【全角文字検出】ASCII表に載っていない文字を検出

今回は「grep」を使って全角文字を検出してみたいと思います。

厳密に言うと全角文字を検出しているのではなく、ASCII表に載っていないものを検出しているので、半角カタカナも検出します。

仕事で全角文字があると相手もこちらも困ることがあるので、これでチェックすれば安心です!

全角があった行数も表示してくれるので、確認も簡単です!

ソースコード

cat test.txt | LANG=C grep -nv '^[[:cntrl:][:print:]]*$'

検証

テストデータとして以下のテキストデータを使用しました。

半角、全角、半角、全角、半角、全角となっています。

検証用テキストデータ
Hello
Hello
My name is Jyozi.
My name is Jyozi.
abc@example.com
abc@example.com

では、実行してみましょう!

実行結果
$ cat text.txt | LANG=C grep -nv '^[[:cntrl:][:print:]]*$'
2:Hello
4:My name is Jyozi.
6:abc@example.com

このように全角文字と全角スペースのものが出力されました。

先ほども述べたように、行数も表示されます。

フォントによっては「全角文字」「@」は半角のものとほとんど変わらなかったりするので、確認する時やスクリプトの内外の引数などの全角文字判定が行えるのは助かります。

以上、読んでくれてありがとうございました!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です