मेरा उदाहरण इस तरह चला जाता है:
  FILE_A एबीसी वसंत 14 60 FILE_B एबीसी    मैं  FILE_A  प्रिंट करना चाहता हूं यदि पहले कॉलम मिलान करता है तो  FILE_B  पहले कॉलम & amp; amp; दूसरा स्तंभ "वसंत" है  <पूर्व>  awk 'एनआर == एफएनआर {एक [$ 1] = $ 1; अगला}; {If ($ 4 == "वसंत" और एक में $ 5) {प्रिंट $ 0} 'FILE_B FILE_A    यह ठीक काम करता है, लेकिन अगर मैं शर्त जोड़ना चाहता हूं  यदि 60- (14-60) & gt; 0  मुझे यह नहीं मिल सकता है   मैंने कोशिश की  यदि ($ 4 == "वसंत" और $ 4 - ($ 3- $ 4) & gt; 0 & amp; amp; amp; & amp; amp; amp; amp; $ 5 में) , लेकिन मैं कर सकता हूँ इसे काम न करें   मेरा प्रश्न यह है कि:  "सरणी में" स्थिति के साथ  awk अगर  स्थितियां कैसे करें?     
  आप सही क्षेत्र संख्याओं का उपयोग नहीं कर रहे हैं और अपने बूलियन तर्क को अस्पष्ट छोड़कर, बस सही क्षेत्र संख्याओं और पैरामान्ज़ेज़ का उपयोग करें:  <पूर्व>  awk 'एनआर == एफएनआर {एक [$ 1]; अगला} (1 डॉलर में) & amp; amp; ($ 2 == "वसंत") & amp; amp; ($ 4- ($ 3- $ 4)) & gt; 0) 'FILE_B FILE_A    जाहिर है  $ 4 - ($ 3- $ 4)  कम किया जा सकता है!   
 
No comments:
Post a Comment