मेरे पास एक फाइल है जो कुछ इस तरह दिखती है:
ID101 G T freq=.5 nonetype ANC=.1 addinfor
ID102 A T freq=.3 ANC=.01 addinfor
ID102 A T freq=.01 type=1 ALT=0.022 ANC=.02 addinfor
जैसा कि आप देख सकते हैं, प्रत्येक पंक्ति में स्तंभों की एक अलग संख्या है। मैं विशेष रूप से कॉलम 1, कॉलम 2, कॉलम 3, कॉलम 4 और उस कॉलम को चाहता हूं जो शुरू होता हैANC=
वांछित उत्पादन:
ID101 G T freq=.5 ANC=.1
ID102 A T freq=.3 ANC=.01
ID102 A T freq=.01 ANC=.02
मैं आमतौर पर फ़ाइलों को पार्स करने के लिए एक awk कमांड का उपयोग करता हूं:
awk 'BEGIN {OFS = "\t"} {print $1, $2, $3, $4}'
क्या इस तरह की स्थितियों के लिए काम करने के लिए इस कमांड को बदलने का एक आसान तरीका है?
मुझे लगता है कि इस तरह से कुछ काम हो सकता है:
awk '{for(j=1;j<=NF;j++){if($j~/^ANC=/){print $j}}}'
हालाँकि, मैं इसे कैसे संपादित कर सकता हूं यह भी पहले कॉलम को प्रिंट कर सकता है।
i=5
है?