以下のサンプルデータファイル(csv)があり、サンプルファイルから大量のデータを生成する必要があります。これを行うには、タイムスタンプの日付(DD)を変更し、forループを実行してより多くのデータを生成する必要があります。
14/03/2017 00:05:58,General2,General3,General4,General5,General6,General7
ベストアンサー1
これはbashで可能です(Ubuntu 16.04.3 LTSで試してください)
csvをyourfile.csvというファイルに入れ(またはこのコードを変更して)、次のコマンドを実行します。
#!/bin/bash
DATE=$1
for i in `seq 1 30`; do
NEWDATE=`date -d"${DATE}+${i}day" +'%d/%m/%Y'`
while read line; do
echo $line | sed -u -r "s#^.{10}#${NEWDATE}#"
done <yourfile.csv
done
各入力行に対して+30日を生成するため、1行を含むファイルのみが必要です。ああ、日付をパラメータとして受け取り、その日付から30日以上のデータを生成します。
更新が遅い。以下を試してください。たぶんより速いかもしれません。
#!/bin/bash
DATE=$1
let i=0
while read line; do
let i=(i++ % 30)
NEWDATE=`date -d"${DATE}+${i}day" +'%d/%m/%Y'`
echo $line | sed -u -r "s#^.{10}#${NEWDATE}#"
done <yourfile.csv
1M行は1M行を生成しますが、1Mは30Mを生成しません。