まず、いくつかの開示: 私は Linux 管理者ではなく、私の Linux 管理者はプログラマーではありません。
mysqlimport
とはいえ、毎日生成されるテキスト ファイルをインポートするコマンドを実行する cron ジョブがあります。このファイルがどのように作成されるかについて、私は制御も関与もしていません。試行錯誤の結果、テキスト ファイルが Windows マシンで生成されていることが判明したため、lines-terminated-by
引数には を指定する必要があり\r\n
ました。先週、正しく動作しなくなりましたが、ファイルが現在 Linux で生成されていることが原因であると判断したため、単に\n
. 私の理解 (完全には明確ではありません) は、使用されるプラットフォームとエンコーディングを決定するテキスト ファイルを誰が生成するかに依存するということです。
コマンドを実行するシェルスクリプトがありますmysqlimport
。正しいエンコーディングを提供すると、すべてが完全に機能します。しかし、そもそも誰がテキスト ファイルを作成するのかわからないので、エンコーディングが何であるかを判断し、適切な改行文字を実装する方法はありますか? (「エンコーディング」は適切な用語ですか?)