গ্রহন এবং উইন্ডোজ নতুন লাইন


182

আমার ডেস্কটপ ক্র্যাশ হয়ে গেলে আমাকে আমার এক্লিপস ওয়ার্কস্পেসটি লিনাক্স থেকে উইন্ডোতে স্থানান্তরিত করতে হয়েছিল। এক সপ্তাহ পরে আমি এটিকে আবার লিনাক্সে অনুলিপি করে কপি করে সিভিএসে প্রতিশ্রুতিবদ্ধ। এবং হায়, উইন্ডোজ নিউলাইনগুলি অনেকগুলি ফাইলকে দূষিত করেছে, তাই আমি যখন একটি লাইন বা দুটি পরিবর্তন করেছি তখনও সিভিএস ডিফ পুরো ফাইলটি ফেলা করে!

আমি কোনও স্ক্রিপ্ট রান্না করতে পারতাম, তবে আমি ভাবছি যে এটি কীভাবে আমার গ্রহন প্রকল্পের ফাইলগুলিকে গোলমাল করবে।


1
মাত্র কয়েকটি ক্লিক সহ একটি প্রকল্পের কয়েকটি / সমস্ত ফাইলের জন্য লাইন এন্ডিং রূপান্তর করার জন্য: stackoverflow.com/a/7019737/1364747
টেডি

উত্তর:


358

এখানে এবং এখানে উল্লিখিত হিসাবে :

UTF-8ইউনিক্সে নতুন ফাইলগুলির জন্য ফাইল এনকোডিং এবং লাইন-এন্ডিং সেট করুন , যাতে পাঠ্য ফাইলগুলি এমন একটি ফর্ম্যাটে সংরক্ষণ করা যায় যা উইন্ডোজ ওএসের সাথে সুনির্দিষ্ট নয় এবং সহজেই ভিন্ন ভিন্ন বিকাশকারী ডেস্কটপগুলিতে ভাগ করা যায়:

  • ওয়ার্কস্পেস পছন্দসমূহে নেভিগেট করুন (সাধারণ: ওয়ার্কস্পেস)
  • পাঠ্য ফাইল এনকোডিং এ এতে পরিবর্তন করুন UTF-8
  • নতুন পাঠ্য ফাইল লাইন ডেলিমিটারকে অন্যে পরিবর্তন করুন এবং পিক-তালিকা থেকে ইউনিক্স চয়ন করুন

বিকল্প পাঠ

  • দ্রষ্টব্য: একটি বিদ্যমান ফাইলের লাইন এন্ডিংগুলিকে রূপান্তর করতে, এক্সিলিপসে ফাইলটি খুলুন এবং চয়ন করুন File : Convert Line Delimiters to : Unix

টিপ : প্যাকেজ এক্সপ্লোরার-এ নির্বাচন করে এবং তারপরে মেনু এন্ট্রিতে গিয়ে আপনি সহজেই বিদ্যমান ফাইলটি রূপান্তর করতে পারবেনFile : Convert Line Delimiters to : Unix


2
আমি যা খুঁজছিলাম ঠিক তা-ও! আমি এটি নতুন ফাইলগুলির জন্য ইতিমধ্যে পরিবর্তন করে ফেলেছি, তবে রূপান্তর করার বিকল্পটি - আমার চোখ মিস করেছে। ধন্যবাদ ভনসি!
ভাসু

@ ভাসু: আপনাকে স্বাগতম! আউটলাইন ভিউ এবং প্যাকেজ এক্সপ্লোরারটিতে বহু-নির্বাচিত উপাদানগুলির জন্য কিছু বৈশিষ্ট্য রয়েছে যা প্রায়শই উপেক্ষা করা হয়।
ভনসি

দুর্দান্ত লেখার। এক্সিলিপসের ভয়াবহ গোলকধাঁধা পছন্দগুলি ডায়ালগের মাধ্যমে নিজেকে এটি অনুসন্ধান করা আমাকে পাগল করে তুলেছিল।
সেরিন

39
আপনি যদি প্যাকেজ এক্সপ্লোরারটিতে একটি সম্পূর্ণ প্রকল্প চয়ন করেন তবে আপনি প্রকল্পের File : Convert Line Delimiters to : Unixসমস্ত ফাইল একবারে "ঠিক" করতে কমান্ডটি ব্যবহার করতে পারেন ।
তাল ওয়েইস

11

আমার একই, গ্রহনটি দূষিত ফাইলগুলি এমনকি একটি লাইন পরিবর্তনের সাথেও ছিল। সমাধান: গ্রিপস গিট সেটিংস -> এন্ট্রি যুক্ত করুন: কী: কোর.আউটোক্রল্ফ মান: সত্য

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


যদিও এটি বেশিরভাগ ক্ষেত্রেই একটি ওকে সমাধান, এটি আপনাকে কামড় দিতে পারে - উদাহরণস্বরূপ যখন আপনি উত্স ফাইলগুলির মাধ্যমে চেকসাম গণনা করছেন। এর পরে প্ল্যাটফর্ম থেকে প্ল্যাটফর্মের মধ্যে পৃথক হবে।
zb226

8

একটি সুবিধাজনক বাশ ইউটিলিটি রয়েছে - dos2unix- এটি ইউনিক্স পাঠ্য ফাইল ফর্ম্যাট রূপান্তরকারী যে কোনও ডস / ম্যাক, এটি ইতিমধ্যে আপনার ডিস্ট্রোতে ইনস্টল না করা থাকলে প্যাকেজ ম্যানেজারের মাধ্যমে সহজেই ইনস্টল করতে সক্ষম হওয়া উচিত। ডস 2 ইউনিক্স ম্যান পৃষ্ঠা


আমি আমার গ্রহণের কর্মক্ষেত্রটি পুনরাবৃত্তভাবে এটি করার জন্য একটি স্ক্রিপ্ট লেখার পরিকল্পনা করছিলাম। কেবল উদ্বিগ্নতা ছিল কোনও গ্রহনের অভ্যন্তরীণ প্রকল্পের ফাইলগুলিকে দূষিত করেছিল। আপনার পরামর্শের জন্য ধন্যবাদ!
ভাসু

7

আরেকটি উত্তরে উল্লিখিত Eclipse সমাধান এবং সরঞ্জাম ছাড়াও , ফ্লিপ বিবেচনা করুন । এটি স্বাভাবিক এবং উইন্ডোজ লাইনব্রেকের মধ্যে যে কোনও উপায়ে 'ফ্লিপ' করতে পারে এবং ফাইলের টাইমস্ট্যাম্প এবং অন্যান্য পরিসংখ্যান সংরক্ষণের মতো দুর্দান্ত জিনিসগুলি করে।

আপনার সমস্যা সমাধানের জন্য আপনি এটি ব্যবহার করতে পারেন:

find . -type f -not -path './.git/*' -exec flip -u {} \;

(আমি আপনার .git ডিরেক্টরিটিকে অগ্রাহ্য করার জন্য একটি ধারা দিয়েছি, আপনি যদি গিট ব্যবহার করেন তবে ফ্লিপ যেহেতু ডিফল্টরূপে বাইনারি ফাইলগুলিকে উপেক্ষা করে, আপনার সম্ভবত এটির দরকার পড়বে না))


কেবল একটি নোট ... এই কমান্ডটি লিনাক্স ব্যবহারকারীদের জন্য, উইন্ডোজ ব্যবহারকারীদের জন্য নয়। উইন্ডোজ findএইভাবে কাজ করে না।
ব্র্যাড

@ ব্র্যাড সঠিক। তবে, সেখানে ফ্লিপের একটি সাইগউইন
মাইকেল

3

আপনি এটি চেষ্টা করে দেখতে পারেন। সমস্যাটি হ'ল উইন্ডোজ একটি নতুন লাইন দেওয়ার সময় একটি ক্যারেজ রিটার্নের পাশাপাশি লাইন ফিডও সন্নিবেশ করে। ইউনিক্স-সিস্টেমগুলি কেবল একটি লাইন ফিড .োকায়। সুতরাং অতিরিক্ত ক্যারেজ রিটার্ন চরিত্রটিই হতে পারে যে আপনার গ্রহনটি নতুন লাইনের সাথে মিশে গেল।

আপনার প্রকল্প থেকে এক বা দুটি ফাইল ধরুন এবং সেগুলি রূপান্তর করুন। আপনি এটি করতে নোটপ্যাড ++ ব্যবহার করতে পারেন। কেবল ফাইলটি খুলুন, বিন্যাসে> ইউনিক্সে রূপান্তর করুন (যখন আপনি উইন্ডোজ ব্যবহার করছেন)।

লিনাক্সে কমান্ড লাইনে এটি চেষ্টা করুন:

sed 's/$'"/`echo \\\r`/" yourfile.java > output.java

আমার প্রায় 10 কে ফাইল আছে! সুতরাং এটি একরকম স্বয়ংক্রিয় করতে হয়েছিল। পরামর্শের জন্য ধন্যবাদ!
ভাসু

আপনার sed -i 's/$`echo \\\r`//' yourfile.javafind . -name "*.java" -exec sed -i 's/$`echo \\\r`//' {} \;
সিএলআইতে

3

\rসমস্ত শিশু ডিরেক্টরিতে সিভিএস / * ফাইল থেকে অবিচ্ছিন্নভাবে গাড়িবহর ( ) রিটার্ন অপসারণ করতে , একটি ইউনিক্স শেল এ নিম্নলিখিত চালনা করুন:

find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.