
クローズド キャプション ソフトウェア プロセスの結果であるファイルが約 700 個あります。PC または Mac で GUI を使用してファイルを開くことはできますが、nano を使用してサーバー上で開くと、次のメッセージが表示されます。
��0^@0^@;^@0^@0^@;^@0^@0^@;^@0^@0^@ ^@0^@0^@;^@0^@0^@;^@0^@6^@;^@0^@0^@
^@
^@N^@o^@t^@ ^@A^@v^@a^@i^@l^@a^@b^@l^@e^@
私が試したいくつかのコマンドラインの結果は次のとおりです。
#file infile.txt
infile.txt: data
# file -bi --mime-encoding infile.txt
application/octet-stream; charset=binary
recode ../CR-LF infile.txt
#file -bi --mime-encoding infile.txt
#iconv -f binary -t uff-8 infile.txt > out.txt
iconv: conversions from `binary' and to `uff-8' are not supported
#recode ../CR-LF infile.txt
#recode UTF8..ISO-8859-15 infile.txt
# file -bi --mime-encoding infile.txt
text/plain; charset=utf-16le
#xxd infile.txt | head -5
0000000: fffe 3000 3000 3b00 3000 3000 3b00 3000 ..0.0.;.0.0.;.0.
0000010: 3000 3b00 3000 3000 2000 3000 3000 3b00 0.;.0.0. .0.0.;.
0000020: 3000 3000 3b00 3000 3600 3b00 3000 3000 0.0.;.0.6.;.0.0.
0000030: 0d00 0d0a 004e 006f 0074 0020 0041 0076 .....N.o.t. .A.v
0000040: 0061 0069 006c 0061 0062 006c 0065 00 .a.i.l.a.b.l.e.
実際のファイルは次のようになります (結局、これは最適な選択ではなく、ほとんど何も入っていないものを誤って選択したことが判明しました)。
00;00;00;00 00;00;06;00 Not Available
次に、ファイルを nano すると、下部に DOS および Mac 形式から変換されたことを示すテキストが表示されますが、それでもすべてゴミです。ファイルをループしてデータをデータベースにインポートできる必要がありますが、もちろん、サーバーが形式を読み取れない場合はそれができません。
将来的にこのようなコードを大量に生成することになるため、長期的な解決策を見つけたいと考えています。Windows PowerShell や同等のツールを使用するのではなく、プロセスに変換を組み込みたいと考えています。
答え1
結局、私にとっての解決策は recode を使うことでした。優れたドキュメントはあまりありませんが、-f オプションを使用して強制的に変更するという方法が効果的でした。
recode -f UTF-7 *.txt