【问题标题】:Reading a csv file读取 csv 文件
【发布时间】:2012-05-23 19:57:45
【问题描述】:

我有一个逗号分隔的平面文件,其内容如下。

Name,Empno,Address,Contact,Company
A,1,”BTM, Bangalore”,1234,”HCL”
B,2,”Tatanagar”,1243,”WIPRO”
C,3,”Patna”,1254,”CTS”
D,4,”Doranda,Ranchi”,1253,”TCS”

我只需要获取每个人的姓名和联系方式。 如果我使用分隔符作为“”,则 A 和 D 的联系人将是班加罗尔和兰契,这是不正确的。 我怎样才能得到第一个和第四个字段。另外请告知我是否可以使用 awk 命令来获取所需的详细信息

编辑 只是添加这是示例数据,我的原始数据将有更多字段,引号内的任何字段也可以有逗号。

【问题讨论】:

    标签: shell unix programming-pearls


    【解决方案1】:

    我认为联系总是最后一个字段。你可以试试这个

    awk -F, '{if(NR>1)printf("%s,%s\n",$1,$(NF-1));}' ip.txt
    

    【讨论】:

      【解决方案2】:
      $ awk -F, '{print $1, $(NF-1)}' csv.txt 
      Name Contact
      A 1234
      B 1243
      C 1254
      D 1253
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-05
        • 2018-10-24
        • 1970-01-01
        • 2016-05-22
        • 2012-08-18
        • 2018-01-20
        • 1970-01-01
        相关资源
        最近更新 更多