質問: ファイルシェルスクリプトのエンコーディング シェルスクリプトでファイルのエンコードを確認するにはどうすればよいですか?ファイルがutf-8またはiso-8859-1でエンコードされているかどうかを知る必要があります。ありがとう
回答: 100%確実にする方法はありません(エンコードを内部的に記述しているファイル形式を扱っている場合を除く)。この区別をしようとするほとんどのツールは、ファイルをutf-8(より厳密なエンコーディング)としてデコードしようとし、失敗した場合はiso-8859-1にフォールバックします。これは、iconvを「手作業で」行うか、fileを使用して実行できます。$ file utf8.txt utf8.txt: utf-8 unicode text $ file latin1.txt latin1.txt: iso-8859 text asciiファイルはutf-8とiso-8859-1の両方に対応しています。$ file ascii.txt ascii.txt: ascii text 最後に、たとえば、自然言語であると仮定して統計的手法を使用しない限り、iso-8859-1とiso-8859-2を区別する実際の方法はありません。これがおそらくファイルが「iso-8859」と言う理由です。