निम्नलिखित केवल @tripleee से उत्तर के लिए एक सुधार है
ताकि यह अंतिम फ़ील्ड से किसी भी उद्धरण को उसी तरह से स्ट्रिप्स करें जैसा कि अन्य सभी फ़ील्ड्स के लिए है।
यह दिखाने के लिए कि क्या सही किया जा रहा है, नीचे एक ट्रिपल का जवाब है, साथ ही ओपी के उदाहरण डेटा के साथ अंतिम ' जेड ' क्षेत्र के आसपास जोड़े गए उद्धरणों के साथ थोड़ा सा संशोधन ।
echo 'A,,C,"D,E,F","G",I,"K,L,M","Z"' | sed -r -e 's/("([^"]*)")?,/\2\t/g'
A C D,E,F G I K,L,M "Z"
आप देख सकते हैं कि इसके चारों ओर उद्धरण के साथ ' Z ' बचा हुआ है। यह अलग है कि आंतरिक क्षेत्रों को कैसे संभाला जाता है। उदाहरण के लिए, ' G ' पर उद्धरण नहीं है।
निम्नलिखित कमांड अंतिम कॉलम को साफ करने के लिए दूसरे प्रतिस्थापन का उपयोग करती है:
echo 'A,,C,"D,E,F","G",I,"K,L,M","Z"' | sed -r -e 's/("([^"]*)")?,/\2\t/g' \
-e 's/\t"([^"]*)"$/\t\1/'
A C D,E,F G I K,L,M Z