分裂根据字段分隔为每行一个字符串
问题描述:
我有如下文件:分裂根据字段分隔为每行一个字符串
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是否不支持作为分隔符提到的字符串?
答
确实Solaris awk
只考虑单个字符。我想说这可能是由于传统,以及nawk
的出货原因。
的-F
开关确实是特殊的:它把你的引用字符串的第一个字符,并丢弃剩下的,所以t
仍然---代表“寻找标签作为字段分隔符”。
如果行中的最后一个数字是你想要的所有东西'sed's /.* temp * //'file'可能是一个更好的选择。 – potong 2012-08-13 20:01:03
我想在这里探究awk的行为..我知道这可以通过使用其他工具如sed和perl来完成。 – Vijay 2012-08-14 06:10:44