यह वास्तव में सरल होना चाहिए, लेकिन किसी कारण से यह काम नहीं कर रहा है:
sed -i.bak -E 's/\t/ /' file.txt
टैब वर्णों को बदलने के बजाय, यह tवर्णों को प्रतिस्थापित कर रहा है। मैंने इसके बारे में हर बदलाव की कोशिश की है, जिसके बारे में मैं सोच सकता हूँ, उद्धृत करने के साथ खेल रहा हूँ, आदि। मैंने Googled और सभी को समान समान भावों का उपयोग करते हुए पाया है और वे उनके लिए काम करते हैं।
-Eएक ओएस एक्स बात है। मैंने सोचा था कि असफलता ओएस एक्स के कुछ अजीब विचित्रता का परिणाम हो सकती है sed, इसलिए मैंने रूबी के साथ (बिना -i), और उसी परिणाम के साथ कोशिश की:
ruby -pe '$_.gsub!(/\t/," ")' < file.txt > file.new
मैं ओएस एक्स, और iTerm पर बैश 3.2.51 का उपयोग कर रहा हूं, हालांकि मैं यह नहीं देख सकता कि उनमें से कोई भी बहुत प्रासंगिक कैसे हो सकता है। मैंने कोई भी अजीब पर्यावरण चर निर्धारित नहीं किया है, हालांकि मैं कोई भी पोस्ट कर सकता हूं जो आपको लगता है कि प्रासंगिक हो सकता है।
क्या गलत हो सकता है?
अद्यतन करें : जब मैंने रूबी संस्करण की कोशिश की थी, तब मैंने कुछ अन्य गलती या टाइपो किया होगा, क्योंकि गिल्स बताते हैं कि यहकाम करता है (और मैंने कभी उसे गलत नहीं किया है!)। मुझे यकीन नहीं है कि क्या हुआ, लेकिन मुझे पूरा यकीन है कि यह मेरी गलती रही होगी।
\tमेंsedसे बयानCTRL-V<TAB>जहां<TAB>टैब कुंजी है औरCTRL-Vनियंत्रण कुंजी और हैvएक साथ दबाया।