2017-07-25 79 views
0

一個簡單的awk腳本工作在Linux和我自己的HP-UX 11.31平臺很好,但它並沒有在其他HPUX 11.31系統工作。我無法訪問有問題的HPUX系統,因此我現在無法測試某些內容。限制HP awk的

@輸入數據

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. 

AWK的其他HPUX系統版本:

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系統故障?

@

分辨率

awk的腳本包括在Unix盒CRLF,所以使用的文件有問題。刪除CR後,它工作正常。

+2

腳本您顯示,除非你的AWK是嚴重破損,這是非常不可能的問題,我們將不會產生錯誤。假設你的AWK不破,因爲'FIRST'是不確定的和'flag'從不使用我想有更多的腳本比你已經證明我們,所以也許是缺少你腳本的一部分是錯誤所在。 –

+0

感謝您的評論。是的,還有其他部分。讓我嘗試測試其餘的。 – Sigularity

+0

將你的腳本降低到[mcve],你可能會自己找出問題所在。 –

回答

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 

埃德莫頓僅是正確的,有我刪除它在上面的代碼中未使用的變量,讓我如何去即可。

+0

好的。至少我瞭解到awk腳本甚至可以在HPUX上運行。這就是我問這個問題的原因。讓我試着測試你的建議,並且我會用我的其他awk腳本測試更多。我認爲它與這個問題無關,因爲它與模式字符串不匹配。謝謝。 – Sigularity