क्या एक लाइनर में ऐसा करना संभव है?
मेरा आउटपुट इस तरह है:
"First line" - Description
" Second line" - Description
"Third line" - Description
" Fourth line" - Description
यह इनपुट अपने आप जेनरेट होता है।
मैं प्रत्येक पंक्ति के लिए "
(उद्धरण चिह्न + स्थान) की पहली घटना को प्रतिस्थापित करना चाहता हूं "
। अगर मैं प्रतिस्थापन विश्व स्तर पर लागू होते हैं, यह भी की प्रत्येक पुनरावृत्ति बदल जाएगा line" -
करने के लिए line"-
, अगर यह यह पूरा करने के लिए एक sed एक लाइनर उपयोग करना संभव है तो मैं सोच रहा था।
मैंने ^
इस तरह का उपयोग करने की कोशिश की है
sed -r ':a;N;$!ba;s/(\^\" )/\"/g'
लेकिन यह काम नहीं कर रहा है, यह कुछ भी प्रतिस्थापित नहीं करता है। मैंने कोशिश की
sed -r ':a;N;$!ba;s/(^|\" )/\"/g'
और यह सभी घटनाओं को बदल देता है। मैंने अभी सेड का उपयोग करना शुरू किया है, इसलिए मुझे नहीं पता कि मैं कुछ गलत कर रहा हूं।
मुझे यहां क्या समझ नहीं आ रहा है?
sed
, लेकिन पोर्टेबिलिटी के लिए और वास्तव में अजीब त्रुटियों से बचने के लिए, आपको एक लेबल के बाद दिए गए कमांड तर्क को समाप्त करना चाहिए (यदि आपको उनकी आवश्यकता है)। जैसे,sed -e ':a' -e 'N;$!ba' -e 'whatever'