2012-05-24 17 views
17

बैश एक तीर को "अन्य" पर इंगित करता है और उत्तेजक चमकदार स्वर में "वाक्यविन्यास त्रुटि" कहता है।यदि अन्यथा

awk '{if($3 != 0) a = ($3/$4) print $0, a; else if($3==0) print $0, "-" }' file > out 

क्यों?

उत्तर

21

यदि आप ब्लॉक के चारों ओर ब्रेसिज़ भूल गए हैं, और ब्लॉक में बयानों के बीच अर्धविराम भूल गए हैं।

awk '{if($3 != 0) {a = ($3/$4); print $0, a;} else if($3==0) print $0, "-" }' file > out 
+0

फिर भी शून्य से भाग रही प्रयास करें प्रयास किया – AWE

+2

@AWE: '$ 4' जा रहा है 0. –

+0

मैंने किया था से निपटने के लिए एक परीक्षण जोड़े, तो मैं इसके लिए awk और ऐसा नहीं अस्तित्व में नहीं है – AWE