awk - compare two columns of two files and give conditional -
फ़ाइल 1:
chr पॉज़ 1 नमूना जीन क्रआर 1 123 नमूना 1 x क्रोए 1 234 नमूना 2 वाई क्रोफ 2 345 नमूना 2 z फ़ाइल 2:
नमूना जीन सीआर पॉज़ 1 नमूना 1 एक्स क्रआर 1 123 नमूना 2 एआरआर 1 234 नमूना 2 सीआरआर 3 123 नमूना 2 जेडआरआर 2 345 मैंने सामान्य कोड प्राप्त करने के लिए awk 'NR == FNR {A [$ 1, $ 2] ++; अगला} ए [$ 3, $ 4]' file1 file2 इस्तेमाल किया है, जैसे कि मैंने कोशिश की है awk 'NR == एफएनआर {ए [एफ एन आर] = [$ 1, $ 2] ++; अगला} {प्रिंट एक [$ 3, $ 4] == ए [एफ एन आर] ? $ 0 "\ t" 1: $ 0 "\ t" 0} 'file1 file2 लेकिन त्रुटि मिलती है।
]` फास्टस्ट की गई कार्रवाई के रूप में गलत है जिसका उपयोग आपने किया था एफएनआर इंडेक्स के रूप में और यहां आप $ 3, $ 4 <प्री> `ए [एफ एन आर] = [$ 1, $ 2] ++;` का प्रयोग कर रहे हैं मैंने आपको ++ का उपयोग समझ नहीं पाया? आपको कुछ पंक्ति का उपयोग करना चाहिए
awk 'nr == एफ एन आर { एक [एफ एन आर] = $ 0;} एन.आर. = एफ एन आर {विभाजन (ए [एफ एन आर], लाइन); यदि (रेखा [1] == $ 3 & amp; amp; रेखा [2] == $ 4) प्रिंट $ 0 1; और प्रिंट $ 0 0} 'file1 file2 जो आउटपुट को
नमूना जीन सीआर पॉस 1 1 नमूना 1 एक्स क्रआर 1 123 1 नमूना 2 ए क्रआर 1 234 1 देगा। Sample2 c chr3 123 0 नमूना 2 z chr2 345 0 यहां पहली फ़ाइल के लिए, NR == FNR पूरी लाइन को A < / Code> और दूसरी फ़ाइल के लिए जब NR! = FNR सरणी को split splited और $ 3 और $ 4
Comments
Post a Comment