2012-03-27 2 views
1

есть файл содержание какО том, как nwak

nawk -v v1=$value1 -v v2=$value2 
         'BEGIN {FS=OFS=","; 

         if ($7=v1 && test v2="ad"){ 
         $19=4; 
         $20=1 ; 
        }elif($7=va1 && test v2="ac"){ 
         $19=4; 
         $20=4; 
        } 
       } 1 ' $file > $file.result 

когда я подбежать сценарий, почему существует ошибка «п * AWK: никакая программа дается

+0

попытаться включить 'v1 = $ value1 -v v2 = $ значение2' внутри кавычек, nawk ожидает, что вся программа будет заключаться в кавычки – CharlesB

+0

Благодаря вер Я много, это работает сейчас. – maple

ответ

1

Положите один ' (один цитата) в первой строке:

nawk -v v1=$value1 -v v2=$value2 ' 
    REST of COMMAND 
' 
+0

hi, В моем коде код просматривает это правило. но он не работает. почему, inline' 'НАЧАТЬ {FS = OFS = ","; if ($ 7 = v1 && test v2 = "ad") { $ 19 = 4; $ 20 = 1; } elif ($ 7 = va1 && test v2 = "ac") { $ 19 = 4; $ 20 = 4; } } 1 ' ' – maple

+0

' else if' или 'elif'? – kev

+0

'$ 7 = v1' или' $ 7 == v1'? – kev

Смежные вопросы