mysql:11570
From: "T.Sasaki" <"T.Sasaki" <papasan2000@xxxxxxxxxx>>
Date: 15 Jun 2005 10:04:55 +0900
Subject: [mysql 11570] Re: CSVをインポートするときのNULLについて
佐々木です。
もう見てないかもしれませんが・・・、フィルタリングの参考になれば。
下記は linux の sed コマンドで正規表現を用いた例です。
1.共通条件
「'」で囲まれた文字列に含まれる「,」は無視する
2.先頭列の空白値を NULL に置換
sed -e "s/\(^,[0-9.'].\{1,\}\)/NULL\1/g"
3.末尾列の空白値を NULL に置換
sed -e "s/\(.\{1,\}[-0-9.'],$\)/\1NULL/g"
3.先頭、末尾以外の列の空白値を NULL に変換
sed -e "s/\([0-9.',]\)\(,,\)\([-0-9.',]\)/\1,NULL,\3/g"
項3は「,,,」を一括変換できないので、現れる数だけ同じコマンドを
パイプを使って繰り返します。
cat [入力ファイル名] | [項1のコマンド] | [項2のコマンド] \
| [項3のコマンド] ... > [出力ファイル名]
11561 2005-06-14 15:41 [<hata@xxxxxxxxxx> ] CSVをインポートするときのNULLについて 11563 2005-06-14 18:12 ┗[とみたまさひろ <tomm] 11569 2005-06-15 09:17 ┗[<hata@xxxxxxxxxx> ] -> 11570 2005-06-15 10:04 ┗["T.Sasaki" <papasan2] 11571 2005-06-15 10:37 ┣[Shinichiro Yamamoto ] 検索時に大文字小文字を区別する方法 11572 2005-06-15 10:46 ┃┗[<numata@xxxxxxxxxx> ] 11573 2005-06-15 11:03 ┃ ┗[Shinichiro Yamamoto ] 11585 2005-06-16 16:15 ┗[<hata@xxxxxxxxxx> ]