मैं केवल लाइन के विशिष्ट हिस्सों पर कैसे काम कर सकता हूं? और, इसके विपरीत, मैं एक लाइन के विशिष्ट हिस्सों पर कैसे काम नहीं कर सकता?लाइन के हिस्से पर कैसे काम करें
उदाहरण:
"A a A a (A a) A (a A) a"
मैं कैसे, उदाहरण के लिए, सभी A
रों T
रों साथ (
और )
के बीच केवल प्राप्त करने के लिए स्थान लेते हैं:
"A a A a (T a) A (a T) a"
और दिए गए अगले उदाहरण इनपुट:
"F f F f (F f) F (f F) f"
मैं कैसे, उदाहरण के लिए, सभी F
रों X
रों नहीं बल्कि (
और )
के बीच के साथ को प्राप्त की जगह है:
"एक्स एफ एक्स च (एफ एफ) एक्स (एफ एफ) एफ "
मैंने Google की खोज की लेकिन मुझे कुछ भी उपयोगी नहीं मिला। मुझे लगता है कि यह sed के बारे में एक सामान्य सवाल है। समस्या सामान्य sed "टेम्पलेट्स" के लिए कमजोर है, मुझे उम्मीद है।
- से होने और उसके बाद ही
- से होने और उन दोनों के बीच की तुलना में कहीं और संचालित करने के लिए (दी लाइन पर सभी घटनाओं पर) उन दोनों के बीच संचालित करने के लिए ...
- विशेष मामला जब FROM और TO हैं एक ही (के बीच "और" या "foo" और "foo" आदि) दोनों 1. और 2.
यह मुद्रण आदि, जैसे के साथ किसी भी आपरेशन ही नहीं, प्रतिस्थापन साथ काम करना चाहिए, लेकिन यह भी के लिए तार में "फू" और "बार" तारों के बीच सबकुछ प्रिंट करना।
"1 2 3 BAR a b c FOO d e f BAR g a h FOO i j k BAR l m n FOO o p q"
परिणाम होगा
" d e f i j k "
इसलिए, यह कैसे करना है पर सामान्य उदाहरण अत्यधिक सराहना की जाएगी। ऐसा लगता है कि यह सवाल काफी आम है, लेकिन Google पर अभी तक कोई अच्छा नहीं पाया गया है। मुझे यह भी लगता है कि यह उत्तर देने के लिए काफी चुनौतीपूर्ण होगा। कृपया, पर्ल, एडब्ल्यूके या sed के अलावा जो भी कुछ भी को कैसे करें, इस पर कोई संकेत न दें। यह सवाल वास्तव में एक केवल एकमात्र सवाल है।
मैंने अपनी पूरी कोशिश की। मेरा विचार था कि रेखा को और से (किसी भी तरह) और फिर "किसी भी तरह" (मुझे अभी तक नहीं पता) द्वारा टुकड़ों में विभाजित करना था या तो केवल या अजीब हिस्सों को या तो कुछ या समान रूप से संचालित करना था। अगर मुझे पता था कि यह कैसे करना है, तो मैं यहां नहीं पूछूंगा। और, यह संभावना है कि विभाजन का मेरा विचार गलत हो सकता है। यह काफी मुश्किल है और मैं पहले ही सरल कार्यों के लिए sed का उपयोग करता था। – mjf