剪切命令将选项卡指定为分隔符

时间:2013-01-28 02:42:10

标签: shell cut

当我使用命令

时,有一个分隔符是tab的文件
cut -d \t file.txt  #or  "\t"  or  "\\t"

我收到此消息

  

cut:您必须指定字节,字符或字段列表

     

尝试`cut --help'获取更多信息。

如何使用cut命令?

3 个答案:

答案 0 :(得分:21)

剪切分割给定分隔符(-d, - delimiter)的输入行。

要按标签拆分省略-d选项,因为按标签拆分是默认选项。

通过使用-f(--fields)选项,您可以指定您感兴趣的字段。

echo -e "a\tb\tc" |cut -f 1 # outputs "a"
echo -e "a\tb\tc" |cut -f 2 # outputs "b"
echo -e "a\tb\tc" |cut -f 3 # outputs "c"
echo -e "a\tb\tc" |cut -f 1,3 # outputs "a\tc"
echo -e "a\tb\tc\td\te" |cut -f 2-4 # outputs "b\tc\td"

您还可以指定输出分隔符( - output-delimiter)并删除不包含任何分隔符的行(-s / - only-delimited)

echo -e "a\tb\tc\td\te" |cut -f 2-4 --output-delimiter=":" # outputs b:c:d

如果您对输入文件的第一个字段感兴趣,只需执行...

cut -f 1 file.txt

答案 1 :(得分:16)

默认分隔符为'\ t',因此您只需执行:

cut -f <n> file.txt

其中<n>是列的编号

答案 2 :(得分:2)

如果您先按“v”然后按“”键,则可以尝试在引号之间放置一个标签

eg  cat > test.txt 
a    b     c
<ctrl d>

$ grep test.txt | cut -f 2 -d "<ctrl v> <presstab>"

将返回“b”