使用 sed 或 awk 修复日期格式

2023-11-26

我正在尝试使用以下方法将包含表格的 HTML 转换为 .csv 文件bash script.

到目前为止我已经完成了以下步骤:

  1. 转换为 Unix 格式(使用dos2unix)
  2. 删除所有空格和制表符(使用sed 's/[ \t]//g')
  3. 删除所有空行(用sed ':a;N;$!ba;s/\n//g')(这是必要的,因为 HTML 文件的每个单元格都有一个空行......这不是我的错)
  4. 删除不必要的<td> and <tr>标签(带有sed 's/<t.>//g')
  5. Replace </td>与 ',' (与sed 's/<\/td/,/g')
  6. 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 中打开文件并手动更改格式,但我想跳过这一点。


sed -E 's,([0-9]{2})/([0-9]{2})/([0-9]{4}),\3-\2-\1,g'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 sed 或 awk 修复日期格式 的相关文章

随机推荐

  • 检查字符串是否仅包含字母+空格?

    我想编写一个传递字符串的静态方法 并检查该字符串是否仅由字母和空格组成 我可以根据需要使用 String 的方法 length 和 charAt i 我在想类似以下的事情 对伪代码感到抱歉 public static boolean onl
  • Google Drive Android API (GDAA) getResourceId() 返回 null(计时问题)

    当测试时删除 垃圾箱中讨论的功能SO 22295903 我遇到了这个问题 1 创建一个包含内容的文件 GoogleApiClient gac DriveFile createFileWait DriveFolder fldr String
  • Imagick - 无法从 URL 读取图像文件。

    我使用此片段来读取不同网站上的图像 image new Imagick http lp hm com hmprod set key source value model 2012 P01 05156 06204 80 1175 4 jpg
  • 检查变量是否为 SRE_Match

    我需要检查变量是否是正则表达式匹配对象 print type m 返回类似的内容 lt sre SRE Match object at 0x000000000345BE68 gt 但是当我导入时 sre并尝试执行type m is SRE
  • 在 OS X 上安装 Spatialite for python (GeoDjango)

    我正在费尽心思地尝试安装 Spatialite for GeoDjango 我已经在使用 Homebrew 它通常很简单且方便 所以我最初尝试遵循自制说明对于 GeoDjango 但这无法安装任何数据库 即 Spatialite 下一步是尝
  • Valgrind 合法的“可能丢失”字节示例

    我看到 valgrind 将内存泄漏分为 肯定输了 间接损失 可能丢失 仍然可以到达 压制 我刚刚修复了一个泄漏 其中 可能丢失 是主要问题 The 文件说 可能丢失意味着你的程序正在泄漏内存 除非你对指针做了不寻常的事情 这可能导致它们指
  • 将 MySQL 事件通知返回给 Delphi 应用程序

    G Day 有谁能够提供一些关于如何通知我的 Delphi 应用程序我的 MySQL 数据库中的特定记录已更改的指示吗 有类似 Interbase 事件系统的东西吗 我看过的想法 Q4M http q4m 31tools com 优点 无需
  • 我可以让 git 以合理的顺序打印 x.y.z 样式标签名称吗?

    考虑这个版本号列表 0 3 0 0 3 1 0 3 8 0 3 9 0 3 10 0 3 11 git tag将按以下顺序打印它们 0 3 0 0 3 1 0 3 10 0 3 11 0 3 2 我有什么办法可以使git tag按 数字 顺
  • 如何在 Python 中创建子进程?

    我想创建一个流程的子流程 展示如何实现这一目标的工作示例是什么 从子流程文档 如果你想得到输出 gt gt gt import subprocess gt gt gt output subprocess Popen uname a stdo
  • 如何在 ember.js 的组件中获取商店

    我究竟如何获得组件内部存储的句柄 我正在尝试创建一个从商店返回结果的自动完成组件 App AutoCompleteComponent Ember Component extend Ember Properites content Ember
  • 欧拉计划问题 14(Collat​​z 问题)

    为正整数集定义以下迭代序列 n gt n 2 n 为偶数 n gt 3n 1 n 为奇数 使用上面的规则并从 13 开始 我们生成以下序列 13 40 20 10 5 16 8 4 2 1 可以看出 这个序列 从 13 开始 到 1 结束
  • NSURLRequest:如何处理重定向的帖子?

    我对 NSURLRequest 和伴奏 实现进行了尝试和测试 它非常适合给定 URL 的 GET 和 POST 但是 我现在想要移动 URL 的目标而不更改应用程序使用的 URL 因此我打算通过 DNS 提供商使用 Webhop 重定向 这
  • Babel.js 如何将类声明编译成 ES2015?

    我当前的任务是将 JavaScript 组件 ES5 转换为 ES6 用 Babel js 编译 在使用类和 Babel js 之前 我们进行原型设计以从其他组件获取函数 com company js ComponentA prototyp
  • libpng 1.5.10 错误:取消引用指向不完整类型的指针

    png read info png ptr info ptr png byte color type info ptr gt color type png byte bit depth info ptr gt bit depth 对于最后两
  • 在 Javascript 中反序列化 PHP 数组

    我有一个表 其中包含一系列序列化数组的行 我计划请求并将其传递给JavaScript 问题是 是否有可能unserialize使用 JavaScript 而不是 PHP 否则 我将不得不加载所有行 循环它们并反序列化它们 并将它们分配给一个
  • kubernetes - 将入口流量路由到某些路径的特定 Pod

    我有多个 Pod 可以自动扩展和缩小 我使用入口作为入口点 我需要根据某些条件 比如说路径 将外部流量路由到特定的 Pod 在发出请求时 我确信特定的 Pod 已启动 例如 假设我有域 someTest com 通常将流量路由到 pod 1
  • 如果值是由触发器生成的,如何注释 Id 列?

    我设置了 Oracle XE 10g Hibernate 3 5 JPA 2 0 有一个带有主键的简单表 由数据库触发器在插入时生成 触发器从序列中获取值 触发器 序列构造是由Oracle XE 完成的 实际的问题是 在 EntityMan
  • devtools::check() 上的包导入错误

    我有一个包 其中在描述文件中包含以下包导入 Imports lubridate assertthat R6 stringr I don t使用以下命令将它们导入到我的包的命名空间中import pkgname or importFrom p
  • 如何在不创建数组的情况下使用 NgFor 来生成矩阵 UI 模式

    我想实现 UI 矩阵模式 它应该动态生成 通过接收输入参数 它应该决定 UI 矩阵图案的尺寸 例如 9X3 元素 图案 9x3 元素 我使用 Angular2 js typescript SCSS html 模板及其外观 import Co
  • 使用 sed 或 awk 修复日期格式

    我正在尝试使用以下方法将包含表格的 HTML 转换为 csv 文件bash script 到目前为止我已经完成了以下步骤 转换为 Unix 格式 使用dos2unix 删除所有空格和制表符 使用sed s t g 删除所有空行 用sed a