2015-05-21 23 views
0

,所以我有一个名为“文件”包含这些字符bash shell中如何削减的第一列出文件

a 1 z 
b 2 y 
c 3 x 

文件我怎么能砍的第一列,并把它放在它自己的文件吗?

我知道如何使用的空间作为这样的分隔符来完成剩下的:

cut -f1 -d ' ' file > filecolumn1 

,但我不知道如何削减仅仅是第一列,因为没有在前面的任何字符我可以用作分隔符。

+0

为什么你需要在它前面chacter? '-d'选项指定列之间的分隔符。只需使用'-f1'来获得第一列。 – Barmar

+0

当我使用cut -f1文件> filecolumn1时,它会保留文件 – PFKrang

+2

中的所有内容,因为您省略了分隔符,其中缺省为TAB,而不是SPACE。 – Barmar

回答

3

分隔符不必在列之前,它是之间的的列。因此请使用相同的分隔符,并指定字段1.

cut -f1 -d ' ' file > filecolumn1 
+0

哦,当然,谢谢!我不知道我以前做错了什么,但它不适合我,哈哈,但现在是,谢谢! – PFKrang

2

Barmar's有一个不错的选择。另一种选择是AWK:

awk '{print $1}' file > output.txt 

如果你有分隔符,你可以使用-F开关,并提供一个分隔符。例如,如果你的数据是这样的:

a,1,2 
b,2,3 
c,3,4 

可以以这种方式使用awk的-F开关:

awk -F',' '{print $1}' file > output.txt