コマンドラインを使った全角⇔半角の変換方法

nkfsedを使ってコマンドラインから全角⇔半角の変換をする方法についてのまとめ。

全角⇒半角の変換

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行です。改行しないように注意してください。

関連記事

Pythonでnkf
Pythonで文字コードが不明な文字列(例えばインターネット上のHTMLは文字コードが間違っている場合があります)はnkfを使うと簡単に取り扱うことができるみたいです。 # emerge -pv app-i18n/nkf These are the packages that would be merged, in order: Calculating dependencies... ...

コメントを残す

メールアドレスが公開されることはありません。