3つのフィールド(長さ、高さ、幅)を持つcsvファイルがあります。これらの値を1行ずつ読み込み、これらの値をdatabase.how行ごとにファイルを読み込み、これらの値をデータベースで更新します。シェルスクリプトでcsvファイルを1行ずつ読み込んで値を取得する方法
ファイル全体をdb.butに更新するために "load in file"クエリを使用することができます。変更された値をcsvからdb.soに更新してファイルを1行ずつ読み込み、これらの値を更新します。
3つのフィールド(長さ、高さ、幅)を持つcsvファイルがあります。これらの値を1行ずつ読み込み、これらの値をdatabase.how行ごとにファイルを読み込み、これらの値をデータベースで更新します。シェルスクリプトでcsvファイルを1行ずつ読み込んで値を取得する方法
ファイル全体をdb.butに更新するために "load in file"クエリを使用することができます。変更された値をcsvからdb.soに更新してファイルを1行ずつ読み込み、これらの値を更新します。
ダグラスはコメントの中で、shを使ってCSVを解析すると、スケーラブルではないことが分かりました。入力ファイルが些細なものであれば、それは動作しません。しかし、簡単な入力のためには、IFSを設定するだけです。ここでは(構文はオフ(おそらく)とすることができる...私はSQLをテストしていない)を読み取ると、MySQLデータベースにデータを入れしようとする例を示します
#!/bin/sh IFS=, while read one two three; do echo "insert into table(col1, col2, col3) "' '"values ('$one', '$two', '$three');" done | mysql db;
数値(長さ、幅、高さ)の場合、VALUESリストの値を引用する必要はないでしょう。しかし、最初の議論では「更新」についても触れましたが、更新する行を特定する方法が必要です。ファイルにその情報が含まれているかどうかが不明なため、迷惑です。 –
最も明白な答えはドンは」それをシェルで行うのは、適切なCSV読み込みライブラリを持つ言語で行います。興味深いcsv形式の方が速く、中断しにくいでしょう。 –