如何使用cut来显示文件的第一个字段

时间:2016-07-26 07:18:03

标签: linux bash

下面是我的数据文件sname,我使用命令cut -f1 sname输出该文件中的Number。但它同时输出名称字段。

11  Vivek
12  Renuka
13  Prakash

分隔符为tab

编辑:正如@fancyPants指出的那样,我在.vimrc set tabstop=8 中找到了。那就是问题所在。 cut -f1 sname有效。

2 个答案:

答案 0 :(得分:3)

尝试awk;

awk '{print $1}' sname

答案 1 :(得分:2)

cut的默认分隔符是空格,而不是制表符。

您可以按CTRL-v Tab

指定
cut -f1 -d'   ' sname

或者这样:

cut -f1 -d$'\t' sname

更正:剪切的默认分隔符是制表符,因此不需要这样做。

编辑:当这不起作用时,你没有标签。使用vi查看文件时,可以检查选项卡。然后输入以下命令:

:set list

对于标签,您应该看到^I或更清楚地表明您可以使用

:set listchars=tab:>-

然后标签显示为>---

编辑2:

我认为你的问题是,你有多个空格。如果您不想使用awk,这肯定更容易,这将是另一种选择:

sed 's/ \+/ /g' sname | cut -f2 -d" "

sed用一个空格替换多个空格。