从列表中剪切列

从列表中剪切列

我如何从终端上剪切以下列表中的第二列?

56    267  
57    235  
58    255  
59    283 

答案1

如果数据在名为 test.txt 的文件中,awk '{ print $1 }' test.txt则会执行此操作。

答案2

如果列之间的空间是一个Tab字符,那么

cut -f 2

将满足您的要求。如果是空格,则先将它们压缩为单个制表符:

tr -s \  \\t | cut -f 2

答案3

尝试:

sed -e "s/[[:space:]]\+/\t/g" filename | cut -f2

第一个命令(sed)将用一个制表符替换所有空格字符,结果将传递给第二个命令(cut),后者将从每行中选择第二个字段。

man cutman sed了解更多信息。

答案4

如果您的数据用逗号分隔那么您的操作将会容易得多:

kmcet@ubuntu:~$ cat data.txt
123,456
123,789
123,567
kmcet@ubuntu:~$ cut -d, -f1,1  data.txt
123
123
123

相关内容