मैं इनपुट फ़ाइल $ 3 स्तंभ मान को बदलने के लिए करता है, तो $ 3 है> 100 कोशिश कर रहा हूँ मैंने कोशिश में एक स्तंभ मान लिखें:AWK: की जगह और इनपुट फ़ाइल
awk 'BEGIN {FS="\t"} {if($3 > 100) $3=$3/100;print}' test.stat
यह करने के लिए सही परिवर्तन आउटपुट stdout लेकिन, मुझे इनपुट फ़ाइल (test.stat) को लिखने के लिए परिवर्तन की आवश्यकता है, जैसे कि शेष फ़ील्ड/रिकॉर्ड्स के मान अपरिवर्तित रहते हैं। कोई उपाय?
धन्यवाद। एक और मुद्दा उठ गया है। मैं एक "काउंटर" चर जिसका योग की जरूरत है अंत ब्लॉक में मुद्रित करने के लिए है, मैं करने की कोशिश की:
awk 'BEGIN {FS="\t",counter=0}
{if($3 > 100) $3=$3/100;print else counter++}
END{print counter}' test.stat > ...
अब, केवल काउंटर मूल्य फाइल करने के लिए लिखा गया है और न $ 3 मूल्यों हो जाता है। मैं दो आउटपुट को कैसे अलग कर सकता हूं ताकि एक फ़ाइल को संशोधित कर सके और दूसरा रीड कमांड का उपयोग करके बैश वैरिएबल के रूप में सहेजा जा सके। धन्यवाद।
काम करना चाहिए, धन्यवाद, एडब्ल्यूके के पुनः से अवगत नहीं था स्ट्रिक्शन –
लेकिन, यह स्वरूपण को संरक्षित नहीं करता है, यानी, मेरे इनपुट फ़ील्ड्स टैब द्वारा अलग किए जाते हैं, लेकिन संपादित रिकॉर्ड में फ़ील्ड से अलग फ़ील्ड होते हैं। इसके अलावा, मुद्रण से पहले फ्लोट को 2 डीपी तक कैसे सीमित करें। धन्यवाद –
पता लगाया। धन्यवाद –