特殊なアポストロフィを含むウィンドウUTF8ファイルをunix ISO-8859-1ファイルに変換したいと思います。これは私がそれをやっているところです:変換後に見えない文字を取り除く方法
# -- unix file
tr -d '\015' <my_utf8_file.xml> t_my_utf8_file.xml
# -- get rid of special apostrophe
sed "s/’/'/g" t_my_utf8_file.xml > temp_my_utf8_file.xml
# -- change the xml header
sed "s/UTF-8/ISO-8859-1/g" temp_my_utf8_file.xml > my_utf8_file_temp.xml
# -- the actual charecter set conversion
iconv -c -f UTF-8 -t ISO8859-1 my_utf8_file_temp.xml > my_file.xml
私のファイルのすべてには問題ありません。もともとファイルの最初には見えない文字があるようです。 Notepadd ++でmy_file.xmlを開くと、ファイルの先頭にSUBが表示されます。 Unix VIでは^ Zを参照してください。
これらの種類の文字を削除するには、どこにどこのUnixスクリプトを追加する必要がありますか?
あなたは
あなたの唯一の問題が最初の文字である場合、あなたは 'sed '1 /////''を行うことができます。 –
@mlwacosmos、[バイトオーダーマーク(BOM)](https://en.wikipedia.org/wiki/Byte_order_mark)が表示されています。それを削除するには複数の方法がありますが、多くは[この回答](https://stackoverflow.com/questions/1068650/using-awk-to-remove-the-byte-order-mark)で対応しています。 – randomir