bash - Shell script to find the last occurring line ID in a file and add a new one -
मेरे पास निम्न प्रारूप के साथ एक टेक्स्ट फाइल है:
एबीसी डीईफ़ ...। .. आईडी = 1 यह प्रविष्टि 1 आईडी = 2 यह प्रविष्टि 2 है ... आईडी = & lt; N & gt; यह प्रविष्टि है & lt; N & gt; Xyz ... मैं लाइन "xyz" से पहले पाठ फ़ाइल में निम्नलिखित नई प्रविष्टि को कैसे सम्मिलित करूँ?
आईडी = एन + 1 यह है एंट्री के & lt; एन 1 & gt; मामले को उलझाए रखने के लिए आगे आईडी लाइनें फ़ाइल में क्रम में नहीं हो सकती हैं, इसलिए यह हो सकता है कि आदेश:
एबीसी डीईफ़ ... आईडी = 5 आईडी = 2 आईडी = एन ... आईडी = 9 ... xyz (जहां N = 10, सर्वोच्च)।
क्या कोई यह पहचानने का तरीका है कि उच्चतम (संख्यात्मक) आईडी लाइन फ़ाइल में है और फिर "xyz" लाइन के समय से पहले एक नई लाइन "आईडी =" जोड़ रहा है?
धन्यवाद अग्रिम!
एक और तरीका है awk
awk -F = '/ id = / { X = $ 2 & gt; x? $ 2: x} एफ एन आर == एनआर {अगली} / xyz / {प्रिंट "आईडी =" एक्स + 1 "\ n यह प्रविष्टि प्रविष्ट है & lt;" x + 1 "& gt;"} 1 'परीक्षण {, }
Comments
Post a Comment