2013-04-22 10 views
25

के साथ सभी डबल कोट्स को बदलें, मैं सिंगल कोट्स के साथ एक स्ट्रिंग में सभी डबल कोट्स को प्रतिस्थापित करने का प्रयास कर रहा हूं। यहाँ मेरी अभिव्यक्ति:सिंगल कोट्स

echo "<a href=\"#\" id=\"resendActivationMailLink\">here</a>" | sed "s/\"/'/" 

दुर्भाग्य से केवल पहले दोहरे उद्धरण बदल दिया जाता है: एस

<a href='#" id="resendActivationMailLink">here</a> 

किसी भी विचार?

sed "s/\"/'/g" 

उत्तर

55

आप g झंडा sed को पास किए जाने

tr '"' "'" 
+10

इसे याद रखने में सहायता के लिए, यह 'वैश्विक' के लिए 'g' है। – RichieHindle

+0

'गूंज' "सुप्रभात खराब" '| sed's/"/ \\"/g'' – YumYumYum

32

आप tr यहाँ इस्तेमाल कर सकते हैं, संक्षिप्त और के हवाले से सिर दर्द की कम:

+1

+1 महान विकल्प और फिर से बेहतर ढंग से बेहतर है। – Zounadire

3

यह आप के लिए काम कर सकते हैं:

sed "y/\"/'/" file 
+0

इसने फ़ाइल को कमांड लाइन पर आउटपुट किया, आप इसे फ़ाइल को कैसे बदल सकते हैं? –

+1

@ जेसनबॉर्न आप फ़ाइल इनस्थापन को संपादित करने के लिए '-i' स्विच जोड़ सकते हैं i.e.' sed -i "y/\"/'/ "file' – potong

संबंधित मुद्दे