मैं नीचे दिए गए लेकिन कुछ भी स्क्रीन पर छपा है एक नंबर निकालने के लिए प्रयास किया है:अंकों की sed निकालने समूह
echo "This is an example: 65 apples" | sed -n 's/.*\([0-9]*\) apples/\1/p'
हालांकि, मैं मिलता है '65', अगर दोनों अंक अलग से मिलान किया जाता है के रूप में नीचे दिए गए:
echo "This is an example: 65 apples" | sed -n 's/.*\([0-9][0-9]\) apples/\1/p'
65
मैं ऐसे नंबर से कैसे मिलान कर सकता हूं जो मुझे निकालने के लिए किसी संख्या में अंकों की संख्या नहीं पता है 65 के स्थान पर यह 2344 हो सकता है?
+1, लेकिन सावधान रहना है कि नहीं सभी sed समर्थन -r और इस तरह उपयोग नहीं कर सकते '+ 'संशोधक और माता-पिता से बच जाना चाहिए। –
'[([0-9] *) सेब regex क्यों है]' (http://sprunge.us/feGV) sed में काम नहीं करता है? यह अजगर में बस ठीक काम करता है। –
तो ...^[^ 0-9] * लाइन की शुरुआत में सबकुछ गैर अंकों के अनुरूप है। [0-9] + कम से कम एक अंक या उससे अधिक, सही? – baltoro