4

我有一个文件如下:

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 不支持作为分隔符提到的字符串吗?

4

1 回答 1

3

实际上 Solarisawk只考虑单个字符。nawk我会说这可能是由于传统,以及发货的确切原因。

这个-F开关真的很特别:它获取引用字符串的第一个字符,并丢弃其余字符,所以t剩下的 --- 代表“查找制表符作为字段分隔符”。

于 2012-08-13T13:27:29.577 回答