根据字段分隔符将行拆分为字符串

时间:2012-08-13 13:12:16

标签: unix awk solaris

我有一个文件如下:

10temp3
20/temp4
28 temp 5

我使用以下命令拆分行并获取行中的最后一个数字。

awk -F"temp" '{print $NF}' temp3
我得到的输出是:

> awk -F"temp" '{print $NF}' temp3
10temp3
20/temp4
28 temp 5

令人惊讶的是,如果我使用nawk,我将获得预期的输出。

> nawk -F"temp" '{print $NF}' temp3
3
4
 5
> 

我可以知道原因吗? awk不支持提到的字符串作为分隔符吗?

1 个答案:

答案 0 :(得分:2)

确实Solaris awk只考虑单个字符。我想这可能是由于传统,以及nawk运送的原因。

-F开关非常特别:它取你所引用字符串的第一个字符,并丢弃其余字符,因此t仍然存在---代表“查找标签作为字段分隔符“。