下面是我的数据文件sname,我使用命令cut -f1 sname
输出该文件中的Number。但它同时输出名称字段。
11 Vivek
12 Renuka
13 Prakash
分隔符为tab
。
编辑:正如@fancyPants指出的那样,我在.vimrc set tabstop=8
中找到了。那就是问题所在。 cut -f1 sname
有效。
答案 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用一个空格替换多个空格。