Linuxサーバ上でテキストファイルの文字コードを一括変更
概要
太古のWEBサイトのメンテナンスを行う際、EUC-JPからUTF-8への文字コード変換をする必要があった――。
その際の備忘録。
やり方
今いるディレクトリの下にある一定の拡張子のファイルをすべて変換してしまう。
解説
詳細はマニュアルコマンドを実行して読もう。
事故りやすいので先に注意する点があります。
必ずバックアップを取ろう。
複数回実行すると壊れるのでやめましょう。
変換のオプションは大文字が変換前のコード、小文字が変換後のコード
オプション | 文字コード |
---|---|
j | JIS |
e | EUC-JP |
s | SJIS |
w | UTF-8N ※BOM無し |
コマンド実行例
今いるディレクトリの下にいるファイルをeuc-jpと仮定し、全てutf-8に変換して上書きします。
- このやり方のいい点はサブディレクトリがあっても適用できること。
- 悪い点は文字コードを間違えるとファイルが壊れる。
コマンドライン
nkf - Network Kanji Filter
を使用します。
下記はfind
で検索を行い、その結果をxargs
に渡してnfk
の引数とし、各個に変換をかけていきます。> mkdir ../bk
> cp -rp ./* ../bk/
> find ./ -name '*.txt' | xargs nkf -Ew --overwrite
Author And Source
この問題について(Linuxサーバ上でテキストファイルの文字コードを一括変更), 我々は、より多くの情報をここで見つけました https://qiita.com/t_mitarai/items/8af5f424fd13fb5d50ba著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .