【问题标题】:Save columns in a csv files into multiple files将 csv 文件中的列保存到多个文件中
【发布时间】:2017-08-30 12:17:25
【问题描述】:

给定一个制表符分隔文件:

$ cat foobar.tsv 
foo bar
blah    blah
black   sheep

我可以执行两个单独的剪切操作以将列放入单独的文件中:

$ cut -f1 foobar.tsv > foobar-c1.tsv
$ cut -f2 foobar.tsv > foobar-c2.tsv


$ cat foobar-c1.tsv 
foo
blah
black

$ cat foobar-c2.tsv 
bar
blah
sheep

是否可以通过一次剪切操作将列保存到多个文件中?例如

cat foobar.tsv | cut -f1 -f2 > foobar-c1.tsv,foobar-c1.tsv 

注意:上面的命令并没有真正起作用。

另请注意

这不算,-_-||| :

$ cut -f1 foobar.tsv > foobar-c1.tsv &&  cut -f2 foobar.tsv > foobar-c2.tsv 

【问题讨论】:

    标签: perl csv awk paste cut


    【解决方案1】:

    您可以通过使用 awk 来实现 -

    $ awk '{print $1 > "foobar-c1.csv"; print $2 > "foobar-c2.csv"}' foobar.csv 
    $ cat foobar-c1.csv
    foo
    blah
    black
    $ cat foobar-c2.csv
    bar
    blah
    sheep
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多