2013-05-02 58 views
0

我在選項卡限制文件file.tsv的第10列中有一個像aa-and-bb這樣的術語。指令內部分隔符Awk

我可以得到aa-and-bb作爲

cat file.tsv | awk 'BEGIN{FS="\t"};{print $10}' 

如何進一步得到aa-and-bbaa

回答

5

您可以使用split()。

split($10, arr, "-"); print arr[ 1 ]; 
1

我猜測,這三個方面,aaand,並bb是可變的,而你只想要第一項。

cat file.tsv | awk 'BEGIN{FS="\t"};{print $10}' | sed 's/-.*$//' 
1
$ awk -F'\t' '{sub(/-.*$/, "", $10);print $10}' file.tsv 
aa 

但它不是100%清楚你的數據的外觀,所以我們只是猜測這裏要拆儀表板上。

2

如果你能在1-9場保證沒有其他- S,您可以添加-作爲分隔符:

awk -F'\t|-' '{print $10}'