bash初心者の悩み
tab区切りのファイルをmysqlにファイルごとぶち込もうと試みて、早3日のparkman3です。
DBにNULLを許可してみても、エラーしか出ない。
UTF-8のタブ区切りでファイルのレイアウトに合わせてtempテーブルを作成。
そこにload date infileで突っ込もうとしてみるとエラー。
mysqlから叩いてみるも同じ結果。
NULLを0に変換してみる事に。
sedを使ってみるも失敗。
tabが並んだらtab0tabという変換をしてみる。
何か変換されたので、意気揚々と取り込みをやってみるとエラーに。
面倒ながら調べてみると、下記のように変換されていました。
tabtabtabtabtabtab
↓
tab0tabtab0tabtab0tab
よーするに
tabtabtabtabtabtab
というセットで変換されているようで、tabtabの変換は行われませんでした。
そりゃダメだわ。
2回やってみたら綺麗に変換されて、mysqlからはしっかり取り込めました。
なお、bashからだとコマンド長すぎってエラーが出て取りこめてません。
ヒアドキュメント使ってやるしかないかなー。
この歳になって新しい言語を勉強するのは難しいですね。
しかもこれが商用のシステム(しかもお金絡みの責任だけがやたら重たいシステム)のコアですからねー。
アホなりに頑張ってみますか。