16
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

nkfが意外と便利だった件

Last updated at Posted at 2014-09-17

文字コードがアレな環境の中で色々文字コード変換やら改行コードがアレだったりするので
色々ゴニョゴニョしなくてはならなくてはいけなくなってその時にnkfで色々ゴニョゴニョした時のメモ

環境

  • CentOS6.4

インストール手順

日本語環境なら標準でOSに入っています。(多分)

参考にしたサイト

基本コマンド

~/
nkf [オプション] [変換元ファイル]

よく使うオプション

文字コードと改行コードをメインに

文字コード変換系

もっと色々ありますがよく使うものだけにしておく

  • -e 変換結果をEUC-JPで出力する
  • -j 変換結果をISO-2022-JPで出力する
  • -s 変換結果をShift-JISで出力する
  • -w 変換結果をUTF-8で出力する

改行コード変換系

  • -L(文字コード)
  • -Lu LFで出力
  • -Lw CR/LFで出力
  • -Lm CRで出力

元ファイルを変換したい場合

  • --overwrite
  • nkf hoge.file > hoge.conv.file でもOK

現在のファイルの文字コードを確認したい

カレントディレクトリ全ての文字コードと改行コードの確認

~/path/to/dir
nkf -g *
# ファイル単位でも可能
nkf -g hoge.file

ShiftJIsでCR/LFのCSVファイルをUTF-8でLFに変換したい

よくあるケース

~/path/to/csv.csv
cd ~/path/to/csv.csv
# UTF-8 LFで出力される
nkf csv.csv -Lu -w

最後に改行を含んだ形で出力させたい(行末に改行コードがないファイルのみ行末に改行コードを挿入する)

awkでパイプするとできる

用途としては

~/path/to/csv.csv
cd ~/path/to/csv.csv
# UTF-8 LFで出力して行末に改行コード
nkf csv.csv -Lu -w | wak '1' > csv.conv.csv

勉強になりました。

16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?