HP awk的限制

时间:2017-07-25 14:53:50

标签: awk hp-ux

一个简单的awk脚本在Linux和我自己的HPUX 11.31平台上运行良好,但它在其他HPUX 11.31系统中不起作用。我无法访问有问题的HPUX系统,因此我暂时无法测试。

@输入数据

mystring    my.linuxsrc    Running 16840
yourstring  your.linuxsrc  Running 41794

@ myawk.awk

/mystring / { printf "%s#%s#%s#%s",$1,$2,FIRST,$3; printf "\n"; flag="YES"}

@在其他HPUX系统中出错

syntax error The source line is 1
The error context is
<<<       >>>
awk: Quitting
The source line is 1.

其他HPUX系统中的awk版本:

other_HPUX] what /usr/bin/awk
/usr/bin/awk:
         main.c $Date: 2009/02/17 15:25:17 $Revision: r11.31/1 PATCH_11.31 (PHCO_36132)
         run.c $Date: 2009/02/17 15:25:20 $Revision: r11.31/1 PATCH_11.31 (PHCO_36132)
         $Revision: @(#) awk R11.31_BL2010_0503_1 PATCH_11.31 PHCO_40052

我的HPUX系统:

my_HPUX] what /usr/bin/awk
/usr/bin/awk:
         main.c $Date: 2008/05/19 14:40:42 $Revision: r11.23/3 PATCH_11.23 (PHCO_38267)
         lib.c $Date: 2007/02/23 16:15:06 $Revision: r11.23/2 PATCH_11.23 (PHCO_36053)
         run.c $Date: 2008/05/19 14:40:53 $Revision: r11.23/1 PATCH_11.23 (PHCO_38267)
         $Revision: @(#) awk R11.23_BL2008_0602_1 PATCH_11.23 PHCO_38267 

你能让我知道为什么简单的awk在其他HPUX系统中失败了吗?

@ Resolution

Awk脚本包含Unix上的CRLF框,因此使用该文件时出现问题。删除CR后,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

请问您可以尝试一下,虽然我没有HP OS,但我也想帮助您。

awk '/mystring / { printf("%s#%s#%s#%s",$1,$2,FIRST,$3); print ORS}'  Input_file

OR

awk '/mystring / { printf("%s#%s#%s#%s\n",$1,$2,FIRST,$3)}'  Input_file

Ed Morton只是正确的,有一个未使用的变量,我在上面的代码中删除了它,让我告诉我它是怎么回事。