パソコン悪戦苦闘記録

文字コード等の把握に便利なLinuxコマンドfile

 Windows PCで使っているMicrosoft IME のユーザー辞書を、テキストファイルとしてエクスポートし、Linuxで開きました。
 そうしたら、文字化けして読み取り不能です。

 文字化けの主な要因は、以前の記事に書いたように
1 文字エンコーディングの違い
2 改行コードの違い
の2つです。
 
 文字化けについては、
   こちらの記事をご覧ください。


 では、対象ファイルの
  文字エンコード
  改行コード
は、いったい何が使われているのかを把握するには、どうすればよいでしょうか。

 こういうときに便利なLinuxコマンドがあります。
 それは、「file」というコマンドです。




 
 「file」は、調査対象ファイルのファイル形式などを表示してくれるコマンドです。
 書式は、
   file [オプション] ファイル名1 ファイル名2 ファイル名3……
です。

 そこで、さっそく、fileコマンドを使って、上記のWindowsからエクスポートしたユーザー辞書テキストファイルを調べてみました。
 ターミナルを起動して、 $ file hoge.txt と打ち込みます。

 そうしたら、次のとおり表示されました。
hoge.txt: Unicode text, UTF-16, little-endian text, with CRLF line terminators

 そこに表示された情報から、対象ファイルhoge.txtは、
 1 ファイル形式:テキストファイル
 2 文字コード:UTF-16
 3 改行コード:CRLF(キャリッジリターン ラインフィード)
であることが分かります。

 おぉ、便利ですねぇ。これで、調べたいファイルの種類や文字コード、改行コードを把握できます。
 なお、使用されている改行コードが「LF」(ラインフィード)の場合は、「with CRLF line terminators」の情報は出てきません。「with CRLF・・・」が出てこないときは、、改行コードが「LF」であると判断できます。

 文字コード、改行コードが把握できさえすれば、文字化けに対処できます。そういう意味で、実に簡単なコマンドながら、「file」は役に立つツールです。

 ちなみに、情報の一つとして、「little-endian」と出ています。これがいったい何かを調べてみたのですが、当面は必要なさそうです(少なくとも素人にとっては。)。





それでは、また次の記事で
goosyun

コメント一覧

goosyun
narkejp さん

 narkejp さんのコメントによる反応が、ブログ記事作成の励みになります。
 「nkf」コマンドも調べてみます。
 いつも有益な情報提供、ありがとうございます。
narkejp
Linuxの教科書を手元に、grep、sed、file と便利なコマンドを試している様子が浮かびます。テキストファイルの文字コード関連でしたら、nkf も調べてみることをおすすめします。今は Windows も Linux も改行コード以外はほぼ共通になりましたが、昔の shift-JIS や euc 等のファイルを相互変換でき、改行コードも変換してくれるので、たいへん重宝しました。Linux 用もありますが、Windows のターミナル窓でも動作するものがあります。昔の MS-DOS の時代から愛用する便利ツールです。
テキストエディタ、sed、grep、awk、nkf というと、昔のテキストデータ処理の定番でした。今ならまた違う定番があるのかもしれませんが(^o^;)>poripori
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「Ubuntu」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事