【问题标题】:How to separate columns in linux using awk or cat [duplicate]如何使用awk或cat在linux中分隔列[重复]
【发布时间】:2020-11-28 12:27:00
【问题描述】:

我有一个包含 900.000 列的文件,结构是:

1613 1200000012000500000011111.......
112345 1200000012000500000011111.......
1287659 1200000012000500000011111.......
1234 1200000012000500000011111....... 
712826  1200000012000500000011111.......

我只需要空格前的数字,这是一个新文件:

1613 
112345 
1287659 
1234 
712826 

我试试

cat -df.txt |cut -d |,| -f7

但它不起作用。

【问题讨论】:

  • 您可以简单地执行 awk '{print $1}' Input_file 并告诉我这是否对您有帮助?考虑到您需要在此处的所有行的第一个空格之前打印数字。
  • 您正在尝试使用 cut,对分隔符使用奇怪的语法,但还要求第 7 个字段...
  • 你试过的cut命令真的很奇怪;你为什么要尝试使用|,因为它是一个引号字符,如果你不想要第七个字段,你为什么说-f7
  • 900,000 列或行?

标签: awk cat


【解决方案1】:

几种方法,基于您的尝试:

awk

正如RavinderSingh13 所建议的那样,直接的 方法是

awk '{print $1}' yourfile.txt

记住awk 不需要cat

剪切

加上香草切,这应该可以:

cut -f1 -d' ' yourfile.txt

这里您需要cut 打印第一个字段-f1,其中分隔符是空格-d' '。还要记住cut 不需要cat(不像我总是忘记)。

其他非常好的 grep 和 sed 方法可以在 this question 中找到

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 2017-11-20
    • 2015-01-08
    • 2018-10-23
    • 1970-01-01
    • 2017-01-06
    • 2018-04-08
    相关资源
    最近更新 更多