file.csv から file.sql ファイルを生成する必要があるため、次のコマンドを使用します。
cat file.csv |sed "s/\(.*\),\(.*\)/insert into table(value1, value2)
values\('\1','\2'\);/g" > file.sql
完全に機能しますが、値が 9 を超える場合 (たとえば、\10、\11 など)、最初の数値 (この場合は \1) のみが考慮され、残りは無視されます。
何かを見逃していないか、それを行う別の方法があるかどうかを知りたいです。
ありがとうございました !
EDIT:
動作しない例:
私のfile.csvは次のようになります
2013-04-01 04:00:52,2,37,74,40233964,3860,0,0,4878,174,3,0,0,3598,27.00,27
私が得るもの
テーブル
val1、val2、val3、val4、val5、val6、val7、val8、val9、val10、val11、val12、val13、val14、val15、val16 に挿入します。値 ('2013-04-01 07:39:43',
2,37,74,36526530,3877,0,0,6080,
2013-04-01 07:39:430,2013-04-01 07:39 :431,
2013-04-01 07:39:432,2013-04-01 07:39:433,
2013-04-01 07:39:434,2013-04-01 07:39:435,
2013-04 -01 07:39:436);
9番目の要素の後、10番目、11番目などの代わりに最初の要素を取得します...