目前我有在我打電話AWK像從shell腳本執行awk腳本生成語法錯誤
/usr/bin/nawk -f rst.awk file1 file2
和rst.awk腳本看起來像
cat rst.awk
{ split($2,a,/\./); curr = a[1]*10000 + a[2]*100 + a[3] }
NR==FNR { prev[$1] = curr; next }
($1 in prev) && (curr > prev[$1])
在這種情況下
我需要確保每次運行腳本時都檢查rst.awk是否具有以上內容。
我們可以在腳本本身編寫rst.awk內容嗎? 自己嘗試過,但沒有運氣。
cat te.sh
/usr/bin/nawk -f
{ split($2,a,/\./); curr = a[1]*10000 + a[2]*100 + a[3] }
NR==FNR { prev[$1] = curr; next }
($1 in prev) && (curr > prev[$1])
file1 file2
./te.sh
/usr/bin/nawk: no program filename
./te.sh: line 2: syntax error near unexpected token `$2,a,/\./'
./te.sh: line 2: `{ split($2,a,/\./); curr = a[1]*10000 + a[2]*100 + a[3]}'
你試過了什麼?因爲我認爲這應該工作。 –
更新帖子。不要使用評論。看起來你只是忘記引用你的awk腳本參數。 –
你是什麼意思,rst.awk的內容不保證不變? (使文件及其目錄不可寫入非常容易,從而「鎖定」文件內容。) –