スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

nkf-文字コードの変換

nkfコマンドは、文字コードの変換に使います。

Windowsマシンで編集したファイルをLinuxで開いた場合、大抵はちゃんと表示されます。

しかし、Linuxで書いた文書をWindowsで開いたら、改行されていなくて一行になっていた、という経験をする人は少なくないと思います。

また、最近ではUTF-8が一般化してきましたが、筆者の場合Vine LinuxUbuntuを併用していた時、UTF-8で書いたコードをEUC環境下で開こうとして日本語が文字化けした、という事がありました。



【コマンド】
$ nkf <options> <file>



【オプション(一部)】

文字コード関連
-e : EUCに変換
-w : UTF-8に変換
-s : Shift-JISに変換


改行コード関連
-Lu : LF(UNIX)に変換
-Lw : CR+LF(Windows)に変換
-Lm : CR(Macintosh)に変換


その他
-g :<file>の文字コードを出力
--overwrite:<file>に上書き




【使い方】

まず対象ファイルの文字コードをチェックします。

nkf -g example.txt



nkfコマンドとは違いますが、fileコマンドで

file example.txt


としてやると、UTF-8BOMの有無等も表示されます。


必要な文字コードに変換します。

例えば、Linuxで作成したファイルexample.txtを、Windowsで読めるように変換してファイルexample_win.txtに出力する場合、

nkf -s -Lw example.txt > example_win.txt


のように、リダイレクトで出力します。


!!注意!!

example.txtを変換してそのままexample.txt上書きしたい場合、

nkf -s -Lw example.txt > example.txt


のように直接同一ファイル名を指定してしまうと、

ファイルの中身が消えます。


別のファイルに出力せずに直接上書きしてしまいたい場合には、

nkf -s -Lw --overwrite example.txt


のようにします。


大切なファイル等の場合は、一応別ファイルに出力しておいて、ファイルの中身が無事であることを確認してからリネームする、といった方法をとるべきですね。

テーマ : UNIX/Linux
ジャンル : コンピュータ

最新記事
カテゴリ別 記事一覧
最新コメント
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。