मैं शेल से गैर-एएससीआईआई पात्रों की पहचान कैसे कर सकता हूं?


13

सभी गैर- ASCII वर्ण और लाइन नंबर, जिस पर वे एक फ़ाइल में पाए जाते हैं जैसे एक कमांड लाइन उपयोगिता का उपयोग मुद्रित करने के लिए एक आसान तरीका है grep, awk, perl, आदि?

मैं UTF-8 से ASCII में एक टेक्स्ट फ़ाइल की एन्कोडिंग को बदलना चाहता हूं, लेकिन ऐसा करने से पहले, फ़ाइल रूपांतरण दिनचर्या द्वारा प्रभावित अप्रत्याशित चरित्र परिवर्तनों से बचने के लिए गैर-ASCII वर्णों के सभी उदाहरणों को मैन्युअल रूप से बदलना चाहते हैं।

जवाबों:


14
$ perl -ne 'print "$. $_" if m/[\x80-\xFF]/'  utf8.txt
2 Pour être ou ne pas être
4 Byť či nebyť
5 是或不

या

$ grep -n -P '[\x80-\xFF]' utf8.txt
2:Pour être ou ne pas être
4:Byť či nebyť
5:是或不

जहां utf8.txt है

$ cat utf8.txt
To be or not to be.
Pour être ou ne pas être
Om of niet zijn
Byť či nebyť
是或不

1
धन्यवाद। पर्ल स्निपेट सीधे काम करता है, लेकिन grep संस्करण GNU grep 2.16 के साथ काम नहीं करता है। मैं इसके माध्यम से काम करने में सक्षम था: LC_ALL=C grep -n -P [$'\x80'-$'\xFF']जहां पहला बिट टकराव को बंद कर देता है।
जो कॉर्नेल

4

मैं UTF-8 से ASCII के लिए एक पाठ फ़ाइल के एन्कोडिंग को बदलना चाहता हूं ...

... गैर- ASCII वर्णों के सभी उदाहरणों को बदलें ...

फिर ऐसा करने के लिए अपने रूपांतरण उपकरण को बताएं।

$ iconv -c -f UTF-8 -t ASCII <<< 'Look at 私.'
Look at .

$ iconv -c -f UTF-8 -t ASCII//translit <<< 'áēìöų'
aeiou

उन्होंने कहा कि वह उस प्रतिस्थापन को मैन्युअल रूप से करना चाहते थे। शायद सबसे उपयुक्त प्रतिस्थापन संदर्भ-निर्भर है।
mark4o
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.