我正在尝试使用以下方法将包含表格的 HTML 转换为 .csv 文件bash
script.
到目前为止我已经完成了以下步骤:
- 转换为 Unix 格式(使用
dos2unix
)
- 删除所有空格和制表符(使用
sed 's/[ \t]//g'
)
- 删除所有空行(用
sed ':a;N;$!ba;s/\n//g'
)(这是必要的,因为 HTML 文件的每个单元格都有一个空行......这不是我的错)
- 删除不必要的
<td>
and <tr>
标签(带有sed 's/<t.>//g'
)
- Replace
</td>
与 ',' (与sed 's/<\/td/,/g'
)
- Replace
</tr>
与行尾(\n
)字符(与sed 's/<\/tr/\n/g'
)
当然,我正在将所有这些都放在管道中。到目前为止,效果很好。我坚持最后一步:该表有一列日期,其格式为dd/mm/yyyy
,我想将它们转换为yyyy-mm-dd
.
有没有一种(简单的)方法来做到这一点(与sed
or awk
)?
数据样本(整个之后sed
pipe):
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 中打开文件并手动更改格式,但我想跳过这一点。