実施方法
-Z
オプションを利用する。
$ echo "AIXというOS" | nkf -Z AIXというOS
上記のように「AIX」という全角が「AIX」という半角になっています。
環境情報
$ nkf --version Network Kanji Filter Version 2.1.5 (2018-12-15) Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa). Copyright (C) 1996-2018, The nkf Project.
補足
テキストファイルからキーワードにて検索をかける際に全角と半角の表記ゆれによって正しく検出できない場合があります。
そういった場合にnkfのZオプションを利用すれば
$ echo "1A" | nkf -Z 1A
上のように変換されます。
Z, Z0
Convert X0208 alphabet to ASCII.
ちなみに
表記揺れとしては大文字小文字もあります。
$ cat a.txt HelloWorld HelloWorld $ file a.txt a.txt: UTF-8 Unicode text
例えばそのまま「hello」という部分を抽出しようとしても
$ cat a.txt | grep hello
引っかかりません。
検索条件を「大文字小文字」の差を検索条件に含めないgrep -i
を利用することで
$ cat a.txt | grep -i hello HelloWorld
一行目のみが引っかかります。
そして冒頭のnkfも利用すれば全角英数も拾えます。
$ cat a.txt | nkf -Z | grep -i hello HelloWorld HelloWorld
以上、表記揺れ対策にご利用ください。