Awk:分裂一个领域

时间:2015-07-05 17:10:15

标签: awk

对awk来说是新手,并尝试做一些可能很简单但却需要一段时间的事情。为简化起见,我有一个名为'sample'的文本文件,它包含以下行:

  

164516454242451BX%Apt 110 225 1784 Ohio USA

我想使用awk获得以下输出:

  

Apt 110 225

有没有办法可以拆分$ 1,以便“Apt”是一个单独的字段?我正在尝试的代码如下。我没有收到任何错误,但输出只有2个空行。

awk '
BEGIN {
split($1," ","%")
}
print $2,$3,$4
END {
print ""
} ' sample

1 个答案:

答案 0 :(得分:2)

您可以%作为分隔符之一:

awk -F'[ %]' '{print $2, $3, $4}' file

同样可以使用 split 完成:

awk '{split($1,a,/%/); print a[2], $2, $3}' file