コンソール上で全角文字⇔半角文字の変換を行う事が時たまあるのだけど、どんな方法があるかなと思ったのでちょっと調べてみた。

nkfを使う(全角→半角のみ)

nkf -Zを用いることで、全角数字→半角数字への変換が可能だ。 ただ、残念ながら半角→全角はできないようだ。

nkf -Z # 全角→半角
blacknon@BS-PUB-DEVELOP:~$ echo Abcd0123456789 | nkf -Z
Abcd0123456789

uconvを使う

個人的にお気に入りのツールにuconvというツールがあるのだが、これを使うことでも半角→全角、全角→半角変換が可能...


先日、ふとローマ字入力からひらがな/カタカナへの変換をコマンドでできないかなーと思って調べてたところ、どうもuconvなるコマンドであればそれができそうだったので試してみることにした。 以下のコマンドで、CentOSやUbuntu、Macにインストールができる。

sudo apt-get install icu-devtools
sudo yum install icu
brew install icu4c # 別途pathを通す必要あり?

uconvコマンドでは、「-x 文字種別」でその文字列に変換する事ができる。 たとえば、以下のようにコマンドを実行してみる。

echo a...