awk模式:删除字段中空格(包括)后的所有内容

时间:2017-03-09 16:42:09

标签: regex awk substitution

我对AWK完全陌生。我试图从一个以制表符分隔的文件中的空格之后删除所有内容(在下面的愚蠢示例中为$ 1),或者在第一个空格之前抓取所有内容并在awk中抛出一个变量(相同)。所以例如我有像

这样的行
.Offset

如何删除abc 0000 12sometext stuff (可以是任意长度,只有规则是1美元中第一个空格后的所有内容),最终只有1美元' 0000'。类似子函数不是在AWK中,但我可以以某种方式使用正则表达式吗?

如果我需要将结果abc分配给变量,那么使用函数拆分中的数组(在AWK中)似乎没有任何意义,是不是有另一种方法?

abc

1 个答案:

答案 0 :(得分:2)

您可以使用sub替换$1中空格后的所有内容:

awk 'BEGIN{FS=OFS="\t"} {sub(/ .+/, "", $1)} 1' file

abc 12sometext  stuff