2015-05-21 20 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