2012-09-10 39 views
1

我使用的shell腳本嵌入AWK代碼:AWK嵌入腳本的問題(意外字符「」)

我在它的BEGIN部分的一些變量賦值:

\ 
BEGIN { FS=","; OFS=","; service_not="false"; end_of_line="\n"; is_setup_gps="false"; \ 
    \ 
    a=6378137.0 ; \ 
    b=6356752.3142 ; \ 
    f=(a-b)/a ; \ 
    e=sqrt(f*(2-f)) ; \ 
} \ 
\ 

所以我在每行的末尾需要'\'(要在.sh中嵌入一個完整的awk腳本)。

但是:對於行:a = ...; B = ...; F = ...; '\'導致錯誤...:mawk:57:意外字符'\'

爲什麼?

UPD:在bash腳本的awk嵌入:

#!/bin/bash 
... all shell commands ... 
mawk '... ; \ 
... ; \ 
... ; \ 
' file_to_parse 
+0

如何將awk代碼嵌入到shell腳本中?在HERE文件中?在引號中? – choroba

+3

查看[this](http://tldp.org/LDP/abs/html/wrapper.html)瞭解如何在awk中嵌入bash。不需要反斜槓 - 瘟疫 - –

回答

4

周圍的AWK腳本引號保護換行符。他們內部不需要反斜槓。