এমন কোনও ম্যাক ওএস এক্স কমান্ড লাইন অ্যাপ্লিকেশন রয়েছে যা পাঠ্য এনকোডিংগুলি এক ধরণের থেকে অন্য ধরণের রূপান্তর করতে পারে? (বিশেষত ম্যাক ওএস রোমানকে utf8 তে রূপান্তর করতে)


16

আমি ম্যাক ওএস এক্স ১০.৮-তে একটি কমান্ড লাইন ইউটিলিটি কল করতে চাই যা আমাকে স্ট্যান্ডার্ড ওয়েস্টার্ন ম্যাক ওএস রোমান এনকোডিংয়ে সংরক্ষিত একটি পাঠ্য ফাইলকে আরও জেনেরিক ইউটিএফ -8 এ রূপান্তর করার ক্ষমতা দেয়।

আমি তৈরি করা একটি অ্যাপলস্ক্রিপ্ট থেকে ইউটিলিটিটি কল করব। অ্যাপলস্ক্রিপ্ট অত্যন্ত বড় টেক্সট ব্লকের সাথে কাজ করার সময় অত্যন্ত ধীর হয়। এর মতো, আমি ওএস এক্স কমান্ড লাইনটি ব্যবহার করে আমার পাঠ্য পার্সিং এবং রূপান্তর করতে চাই। আমি "সেড" নামে একটি সরঞ্জাম পেয়েছি, যা আমাকে পাঠ্য পার্সিং করতে দেয়। তবে, ফাইলটির এখনও অনেকগুলি উপাদান রয়েছে যা পরিষ্কার করা দরকার, ফাইলগুলি utf-8 হিসাবে খোলা থাকলে আবর্জনা হিসাবে উপস্থিত হওয়া অক্ষর (যেমন স্মার্ট উদ্ধৃতি এবং উপবৃত্তাকার))

আমি ভাবছি যে কোনও পাঠ্য এনকোডিং রূপান্তর জোর করে ফাইলে সমস্ত নন- utf8 অক্ষর মুছে ফেলতে সহায়তা করতে পারে। তবে, আমি দেখতে পাচ্ছি না যে কীভাবে "সেড" সহজেই পাঠ্য এনকোডিংকে রূপান্তর করতে পারে।

আমি ইতিমধ্যে বিল্ট-ইন অ্যাপলস্ক্রিপ্ট রুটিন ব্যবহার করে ডিস্কে ম্যাকআরমন হিসাবে টেম্প টেক্সট ফাইলটি সংরক্ষণ করব।

আপনার কোনও বিল্ট-ইন কমান্ড-লাইন সরঞ্জাম যা কোনও পাঠ্য এনকোডিংকে রূপান্তর করতে পারে সে সম্পর্কে কোনও ধারণা আছে? পারফরম্যান্স এবং অন্তর্নির্মিতের জন্য কমান্ড-লাইন, যেহেতু আমার স্ক্রিপ্টের অন্যান্য ব্যবহারকারীদের মধ্যে এটি বিল্ট-ইন না থাকলে অগত্যা যথাযথ সরঞ্জামসেট থাকবে না।

আপনার সাহায্যের জন্য ধন্যবাদ!


কমান্ডটি আইকনভ।
bmargulies

@ বারমার্গুলিজ: আমি যখন ম্যাকরোমনে এনকোড করা কোনও ফাইলের আইকনভি চেষ্টা করি এবং এটিটিকে ইউটিএফ -8 এ রূপান্তরিত করার চেষ্টা করি, তখন আমি মূল "অস্বাভাবিক চরিত্রগুলি" এর জায়গায় আবর্জনার অক্ষর পাই। উদাহরণস্বরূপ, উপবৃত্তগুলি "Äö√Ѭ∂‚Äö√Ѭ∂" তে রূপান্তরিত হয়। আমি প্রত্যাশা করব যে উপবৃত্তটি করুণভাবে ছয় পিরিয়ডে রূপান্তরিত হবে। স্মার্ট উদ্ধৃতিগুলি একই, তারা অদ্ভুত পাঠ্যে রূপান্তরিত করে "Äö√Ñ√≤" রূপান্তর করে। আমি যে সিনট্যাক্সটি ব্যবহার করছি তা হ'ল: বিড়াল উত্স iconv -f ম্যাক্রোম্যান -t ইউটিএফ -8> আইকনভি_েস্ট.টেক্সট কি এমন একটি নির্দিষ্ট সি এল এল বাক্য গঠন রয়েছে যা আইকনভকে সমস্ত পাঠ্যকে যথাযথ প্রতিস্থাপনে রূপান্তর করতে বলবে?

এবং আপনি কি যুক্তি পাস?
bmargulies

@ ডার্কস্টার - আপনার একই পদ্ধতিটি আমার পক্ষে ভাল কাজ করেছে। আপনি কি নিশ্চিত যে আপনার উত্স ম্যাকরোমনে ছিল?
টম গেভেক

1
এক্সেলের এই সমস্যাটি হওয়া উচিত নয়, আপনি যা চান তার জন্য আমদানির জন্য এনকোডিং সেট করতে সক্ষম হওয়া উচিত, উদাহরণস্বরূপ superuser.com/questions/280603/… দেখুন
টম গ্যুইক

উত্তর:


8

নন-এএসসিআইআই অক্ষরগুলিকে ASCII রূপগুলিতে রূপান্তর করার আরেকটি উপায় হ'ল iconv -t ASCII//TRANSLIT:

$ echo ‘’“”–—…äé | iconv -t ASCII//TRANSLIT
''""--..."a'e

ASCII//IGNOREনন-এসসিআইআই অক্ষর মুছে ফেলবে, তবে উদাহরণস্বরূপ আপনি এটি করতেও পারেন tr -dc '\0-\177'


অনুলিখনের iconvঅনুমতি দেয়: ä → a "?
ড্যান

পছন্দ করেছেন চরিত্রগুলি যেভাবে প্রতিস্থাপন করা হয়েছে তা প্রয়োগের উপর নির্ভর করে যদিও: উদাহরণস্বরূপ, দেবিয়ান সহ যে আইকনভ আসে তার সাথে প্রতিস্থাপন äকরে ন্যায়বিচার a
ল্রি

28

iconv এখানে স্পষ্টতই পছন্দসই সরঞ্জাম:

iconv -f MACROMAN -t UTF-8 your-roman-encoded-file.txt > utf-8-encoded-file.txt

চালান iconv --listসমস্ত সমর্থিত এনকোডিং একটি তালিকা দেখতে পাবেন।


একবার যখন আমি বুঝতে পারলাম যে এটি ম্যাকরোম্যান নয়, তবে "আইসো -8859-1" ছিল, আমি আবার চেষ্টা করেছি। এটি এখনও যা করতে চেয়েছিল তা করে নি। আইকনভি আমি যা করতে চাই তা করতে পারে বলে আমি মনে করি না: স্ট্যান্ডার্ড পিরিয়ড এবং অ্যাডোস্ট্রোফস এবং ডাবল কোট সহ অভিনব প্রসারিত সমস্ত অক্ষরকে গ্রেফতার করে প্রতিস্থাপন করুন।
ডার্কস্টার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.