ठीक है, चूंकि यह एक जटिल प्रश्न है, मैं इसे स्पष्ट रूप से समझाऊंगा। मुझे नीचे दी गई एक फ़ाइल सामग्री मिली:
$ Cat File1
ABC Cool Lol POP {MNB}
ABC Cool Lol POP {MNB}
ABC Cool Lol POP {MNB}
ABC Cool Lol POP {TBMKF}
ABC Cool Lol POP {YUKER}
ABC Cool Lol POP {EFEFVD}
मुझे जो आउटपुट चाहिए
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool TBMKF + POP ;
-Cool YUKER + POP ;
-Cool EFEFVD +POP ;
सबसे पहले मैं आखिरी कॉलम को बाहर निकालने की कोशिश करता हूं File1
और इसे प्रिंट करता
हूंsed 's/[{}//g' File1 > File3
उसके बाद मैं File1
एक नई की पूरी सामग्री की नकल करता हूंFile4
cp File1 File4
उसके बाद मैं डेटा को डेटा के File4
साथ प्रतिस्थापित करता हूं File3
(मतलब ब्रैकेट के बिना डेटा " File1
अंतिम कॉलम जो एक")
awk 'FNR==NR{a[NR]=$1;next}{$5=a[FNR]}1' File3 File4 >>File5
आउटपुट इस तरह होना चाहिए
ABC Cool Lol POP MNB
ABC Cool Lol POP MNB
ABC Cool Lol POP MNB
ABC Cool Lol POP TBMKF
ABC Cool Lol POP YUKER
ABC Cool Lol POP EFEFVD
अंत में, मैं कोशिश करता हूं
awk -F“ " '{print - $2,$5 +,$4 ";"}‘ File5
लेकिन परिणाम नहीं निकला जैसा कि मैं चाहता हूं, केवल उसी डेटा MNB को सभी सूचीबद्ध किया गया है, दूसरों को नहीं दिखाया गया है (फ़ाइल एक अंतिम स्तंभ डेटा),
awk --version
, परिणाम क्या है?