【问题标题】:Combining values from different files into one CSV file将不同文件中的值合并到一个 CSV 文件中
【发布时间】:2010-09-06 17:10:55
【问题描述】:

我有几个文件,每行都包含一个值。

编辑:

我在写这篇文章的过程中找到了这个问题的答案,但没有意识到我错误地将它发布为不完整的状态。

我想这样做:

paste -d ',' file1 file2 file 3 file 4 > file5.csv

并且得到一个奇怪的输出。后来我意识到发生这种情况是因为有些文件在行尾既有回车符又有换行符,而其他文件只有换行符。我必须永远记住要注意那些事情。

【问题讨论】:

    标签: regex linux unix shell


    【解决方案1】:

    您可能需要澄清或重新标记您的问题,但目前的答案如下。

    在Linux下连接两个文件

    cat filetwo >> fileone
    

    【讨论】:

      【解决方案2】:

      文件 1:

      1 2 3

      文件2:

      2 4 6
      paste --delimiters=\; file1 file2
      

      将产生:

      1;2 3;4 5;6

      【讨论】:

        【解决方案3】:

        我感觉你的问题还没有写完,但我还是会试一试。 ;)

        file1:  file2:  file3:
        1       a       A
        2       b       B
        3       c       C
        
        ~$ paste file{1,2,3} |sed 's/^\|$/"/g; s/\t/","/g'
        "1","a","A"
        "2","b","B"
        "3","c","C"
        

        或者,

        ~$ paste --delimiter , file{1,2,3}
        1,a,A
        2,b,B
        3,c,C
        

        【讨论】:

          【解决方案4】:

          如果您使用的是 Windows,请不要忘记多功能的 LogParser

          它可以对平面文本文件运行类似 SQL 的查询,以执行各种合并操作。

          【讨论】:

            【解决方案5】:

            以前使用 logparser 或命令行工具的答案应该可以工作。如果您想对记录执行一些更复杂的操作,例如过滤或连接,您可以考虑使用 ETL 工具(想到 Pentaho、Mapforce 和 Talend)。这些工具通常为您提供一个图形调色板来定义数据源和您想要对行执行的任何操作之间的关系。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-08-28
              • 2019-08-26
              • 1970-01-01
              • 2020-12-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多