スクリプトを使用して、テーブルを含む HTML を .csv ファイルに変換しようとしていbashます。
これまでのところ、次の手順を実行しました。
- Unix 形式に変換 ( を使用
dos2unix) - すべてのスペースとタブを削除します (で
sed 's/[ \t]//g') - すべての空白行を削除します (with
sed ':a;N;$!ba;s/\n//g') (HTML ファイルにはテーブルの各セルに空白行があるため、これは必要です...それは私のせいではありません) <td>不要なタグとタグを削除し<tr>ます( 付きsed 's/<t.>//g')</td>「,」に置き換えます(でsed 's/<\/td/,/g')</tr>行末 (\n) 文字に置き換える ( withsed 's/<\/tr/\n/g')
もちろん、これらすべてをパイプラインに入れています。これまでのところ、うまく機能しています。私が立ち往生している最後のステップが 1 つあります。テーブルには日付の列があり、その形式dd/mm/yyyyは であり、それらを に変換したいと考えていyyyy-mm-ddます。
sed(またはを使用して)それを行う(簡単な)方法はありawkますか?
データ サンプルsed(パイプ全体の後):
500,2,13/09/2007,30000.00,12,B-1
501,2,15/09/2007,14000.00,8,B-2
期待される結果:
500,2,2007-09-13,30000.00,12,B-1
501,2,2007-09-15,14000.00,8,B-2
これを行う必要があるのは、このデータを MySQL にインポートする必要があるためです。ファイルを Excel で開き、手動で形式を変更することもできましたが、それはスキップしたいと思います。