【问题标题】:LINUX script to check length of each field in a csv file用于检查 csv 文件中每个字段的长度的 LINUX 脚本
【发布时间】:2015-04-23 19:57:15
【问题描述】:

基本上,标题说明了一切。我可以帮助我编写一个小 bash 或 ksh 脚本,该脚本可以检查 .csv 文件中每个字段的长度,如果字段长度超过 50 个字符,则退出脚本并显示错误。

我已经做了一些快速的研究,但没有找到任何我想要的东西!

提前致谢!

【问题讨论】:

  • 请展示您的尝试,我们不是来为您工作的。这在awk 中应该很容易做到。
  • CSV 的问题在于它看似简单,但实际上有许多极端情况。例如,如果一个字段可以包含带引号的字符串,那么这些字符串可以包含需要处理的字段分隔符,或者处理转义的字段分隔符,更不用说检测字段数错误或数据错误的记录了。
  • 而且多行记录也是相关的,因为有些字段可能包含\n(换行符)。所以你不应该真的相信它看似简单。特别是因为它并不是一个真正的标准,而且逗号分隔值的主要概念确实存在许多变体。

标签: linux bash csv ksh


【解决方案1】:

—bash 中如何处理 CSV 文件? -你不。 期间

除非您自己生成 CSV,否则不应仅使用 bash 来生成 CSV,因为 CSV 格式可能很棘手。

天真的答案是用逗号分隔每一行,但这并不可靠,您可能应该使用 perl 的 Text::CSV(Debian 和衍生产品上的包 libtext-csv-perl)。

您可以安装一些 CSV 解析器来帮助您完成这项工作:

您可能应该改用 Perl 或 Python 等通用语言来完成这项任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    • 2017-06-14
    • 2011-04-27
    • 2018-04-11
    • 1970-01-01
    相关资源
    最近更新 更多