nkf
やsed
を使ってコマンドラインから全角⇔半角の変換をする方法についてのまとめ。
全角⇒半角の変換
nkfを使う場合
全角から半角へはnkf
の-Z
オプションで変換できます。
全角英数字を半角英数字に変換
$ echo 'あいうえお 123456 abcdef' | nkf -Z
あいうえお 123456 abcdef
全角英数字と全角スペースを半角に変換
$ echo 'あいうえお 123456 abcdef' | nkf -Z1
あいうえお 123456 abcdef
全角英数字と全角スペースを半角に変換(全角スペースは半角スペース2つに変換)
$ echo 'あいうえお 123456 abcdef' | nkf -Z2 あいうえお 123456 abcdef
sedを使う場合
$ echo 'あいうえお 123456 abcdef' | sed 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /' あいうえお 123456 abcdef
半角⇒全角の変換
sedを使う場合
$ echo 'あいうえお 123456 abcdef' | sed 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /' あいうえお 123456 abcdef
数字だけ全角に変換したい場合
$ echo 'あいうえお 123456 abcdef' | sed 'y/1234567890/1234567890/'
あいうえお 123456 abcdef
※コマンドはすべて1行です。改行しないように注意してください。