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