मेरे पास एक टेक्स्ट फाइल है demo.txt नीचे की तरह।
This is a line with id (9)
This (8) is another line with id
(10) This is a line with id too
11 This line does nothing
फ़ाइल में अनियमित रूप से आईडी बिखरी हुई कुछ लाइनें हैं। आईडी पैटर्न कोष्ठक के साथ संख्या है।
मेरा काम इस फाइल में सबसे बड़ी आईडी ढूंढना है ताकि मुझे पता चले कि नई लाइन जोड़ते समय अगली आईडी क्या है।
मेरा पिछला काम
ack-grep demo.txt -o --match '\(\d+\)' | sort -r | head -n 1
परिणाम है (9) लेकिन नहीं (10) मेरी अपेक्षा के रूप में। मुझे लगता है कि इसका कारण है sort आउटपुट को पाठ के रूप में मानता है क्योंकि उनके पास कोष्ठक है।
सवाल यह है: मैं केवल नंबर से आउटपुट कैसे कर सकता हूं ack या grep बाद में छँटाई लेकिन फिर भी पैटर्न का मिलान करना (मेरे उदाहरण में कोष्ठक)?
आपका बहुत बहुत धन्यवाद!
act-grep। एक पैकेज है apt-get install ack-grep। मैंने खुद पाया act से अधिक स्थिर grep।
ack-grep तथा ack, नहीं act-grep तथा act। और आपका क्या मतलब है कि grep की तुलना में ack अधिक स्थिर है? मैं ack का लेखक हूं और मैं निश्चित रूप से ऐसा दावा नहीं करूंगा।
ack। मैंनें इस्तेमाल किया grep पहले, लेकिन कभी-कभी अजीब त्रुटियां हुईं, फिर मैंने स्विच किया ack और ऐसी त्रुटियां गायब हो गईं। इसलिए मैंने अपने नोटों पर इस तरह के दावे को जोड़ा लेकिन वास्तव में त्रुटियों के लिए मामलों को याद नहीं कर सका।