【问题标题】:convert a fully quoted csv file to tsv format将完全引用的 csv 文件转换为 tsv 格式
【发布时间】:2015-12-03 19:18:53
【问题描述】:

我有一个类似的文件:

"a","b","c"...

并且想要将逗号转换为制表符作为分隔符。

我试过了:

sed -e 's/","/"\t"/g' < input_file > output_file

然而,看起来唯一的效果是将逗号更改为文字字符 t:

"a"t"b"t"c"...

我的 sed 表达式有什么问题吗?

【问题讨论】:

  • 您的sed 版本无法将\t 识别为文字标签。
  • @chepner,我在 bash 下。那我该怎么办? Sed 不将\t 识别为选项卡? sed有什么问题?顺便说一句,我在 AIX 机器上。
  • 另外,你没有终止你的单引号。
  • 不知道。对我来说工作得很好...sed --version 的输出是什么?
  • AIX 机器:只需按 键即可获得\t。 (您将在当前行的下一个制表位看到空格的视觉运行)。通常,除非您安装 GNU 工具包,否则 AIX progs 不会识别任何 -- 选项(在锁定的典型 AIX 环境中很难完成)。祝你好运。

标签: bash sed ksh


【解决方案1】:

这是非 GNU 版本的 sed 的问题,如果可能的话,使用空格作为分隔符或粘贴制表符而不是 sed,或者使用 $(printf \t) 而不是 \t

【讨论】:

    猜你喜欢
    • 2014-07-08
    • 1970-01-01
    • 2020-01-20
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多