मेरी sed कमांड है,
sed '/(.*:)/d' <<< 'abcd:bcde:cdeaf'
इसे वापस करना होगा,
bcde:cdeaf
(अर्थात) लाइन में पहले कोलन से पहले के सभी वर्ण और कॉलन को स्वयं हटाया जाना चाहिए।
लेकिन यह कुछ भी नहीं हटा रहा है।
मेरा भ्रम मुख्यतः के कारण उत्पन्न होता है,
1) क्या पैटर्न मिलान के लिए पैरेन्स को सीड रेगेक्स-एसस के अंदर भागने की जरूरत है?
2) या तो मामले में (भागने / नहीं बचने के साथ), यह एनटी काम कर रहा है। मैंने कोशिश की,
sed -E '/\\(.*:\\)/d' <<< 'abcd:bcde'
printf "%s\n" "${line#*:}"...
while read lineहो जाता है $line, शायद sedपसंद किया जाना चाहिए।
sed 's/[^:]*://'। और आपdइनपुट लाइन को नहीं बढ़ा रहे हैं , वैसे, आप इसेs///ऑबस्ट्रेशन कमांड के साथ संशोधित कर रहे हैं । आपको पहले नहीं बल्कि कोलन बिट और उस कॉलन को बदलना होगा जो इसके पीछे कुछ भी नहीं है।