উইন্ডোতে ইউনিক্স লাইনের শেষ রূপান্তর করুন


38

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

ইউটিলিটি অবশ্যই লিনাক্স নয়, উইন্ডোজে চলতে হবে। আমি ইতিমধ্যে সরানো হয়েছে। আমি বরং সাইগউইন ইনস্টল করব না যদি আমি এড়াতে পারি।



সদৃশ প্রশ্ন
ইউকান্থ

তথাকথিত ডুপ্লিকেট প্রশ্নগুলির সমাধানগুলি সমস্তই লিনাক্স প্ল্যাটফর্মে চালিত হয় বা বিপরীত রূপান্তরটি প্রবর্তন করে। আমার আর লিনাক্স নেই। আমার উইন্ডো আছে
ম্যাথিউ স্কাউটেন

1
সেগুলি উইন্ডোজের জন্য সাইগউইন, জ্ঞানউইন 32, আনেক্সটিলস বা অন্যান্য জাতীয় মাধ্যমে উপলব্ধ। আমি বিশ্বাস করি যে এখানে পাওয়ারশেল স্ক্রিপ্টগুলিও এটি করতে পারে, যদিও আমি কোনও লিঙ্ক সরবরাহ করার জন্য এটি সম্পর্কে যথেষ্ট জানি না।
কোয়াকোট কোয়েক্সোট

1
@ কোয়াক: প্রশ্নটিতে বিশেষভাবে বলা হয়েছে যে ব্যবহারকারী একটি উইন্ডোজ ইউটিলিটি ব্যবহার করে উইন্ডোজে কাজ করবে এমন কিছু সন্ধান করছে।
ব্রায়ান লেসি

উত্তর:


34

আপনি তাদের unix2dosআপনার লিনাক্স প্ল্যাটফর্মে ইউটিলিটি দিয়ে রূপান্তর করতে পারেন । আছে unix2dos Windows এর জন্য উপলব্ধ সংস্করণ হিসাবে ভাল।

আপনি যদি পার্ল ইনস্টল করে থাকেন তবে আপনি এই একটি লাইনারটিও ব্যবহার করতে পারেন:

perl -p -e 's/\n/\r\n/' < UNIX_LF.txt > WINDOWS_CRLF.txt

আমি এর অনুরূপ কিছু করেছি, তবে আমি অজগর ব্যবহার করেছি।
ম্যাথিউ স্কাউটেন

2
@ ম্যাথেজ স্কাউটেন: সুতরাং ... আপনি উইন্ডোতে চালিত একটি ইউনিক্স ইউটিলিটি পেয়েছেন! অভিনন্দন!
কোয়াকোট কোয়েসোট

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

ডস 2 ইউনিক্স এবং ইউনিক্স 2 ডিওতে রূপান্তর করতে সমস্যা রয়েছে - যদি ফাইলটিতে সিআরএলএফ এবং এলএফ মিশ্রিত থাকে তবে এমন কিছু ঘটনা থাকতে পারে যা প্রতিস্থাপন করা হবে না।
pbies

17

এখানে একটি সহজ এবং দ্রুত উপায়।

টেক্সট ফাইলটি ক্রোমে টেনে আনুন (আমি অন্যান্য ব্রাউজারগুলি সম্পর্কে জানি না) এবং তারপরে মূল ফাইলে কেটে পেস্ট করুন :)


2
হি

সমস্ত ব্রাউজার আইই সহ ইউনিক্স লাইনের সমাপ্তি পড়তে পারে। তবে তারপরে ওয়ার্ডপ্যাডও এটি করতে পারে এবং তাই আধুনিক নোটপ্যাডও করবে । এখানে কী গুরুত্বপূর্ণ তা হল একাধিক ফাইলগুলি কীভাবে স্বয়ংক্রিয়ভাবে রূপান্তর করা যায়
ফুক্লিভি

10

ফোল্ডারগুলির মধ্যে পুনরাবৃত্তি করার জন্য, ফাইল ফিল্টারগুলিকে মঞ্জুরি দেওয়ার জন্য এবং "\ r \ n" এর জন্য একটি সাধারণ অনুসন্ধানের অনুমতি দেওয়ার জন্য এবং কেবল "\ n" এর পরিবর্তে এটি নোটপ্যাড ++ এর জন্য আমি সবচেয়ে ভাল পেয়েছি ।

নোটপ্যাড ++ হ'ল উইন্ডোজের অন্যতম সেরা, ফ্রি, ওপেন সোর্স নোটপ্যাড প্রোগ্রাম। এটি খুব সাধারণ এবং শক্তিশালী। এটি সন্ধানের শেষ লাইনটি পরিচালনা করেছে / ঠিক জরিমানা প্রতিস্থাপন করবে। একটি ঠিকাদার লিনাক্স line r \ n লাইন সমাপ্তির সাহায্যে আমাদের ভাণ্ডারগুলিতে .c এবং .h ফাইলগুলির একগুচ্ছ পরীক্ষা করে তবে বেশিরভাগ লোক উইন্ডোজ / অ্যাক্লিপস বিল্ড সরঞ্জামগুলিতে স্ট্যান্ডার্ড করে দিয়েছে তাই লাইন শেষ রূপান্তরিত না হওয়া পর্যন্ত ফাইলগুলি তৈরি করবে না ।


8
আমি মনে করি আপনি সেখানে প্রান্তগুলি বিপরীত করেছেন: লিনাক্সটি \ n,
উইন্ডোজটি

10
নোটপ্যাড ++ এ একটি সাধারণ Edit -> EOL Conversionমেনু থাকে যদি রূপান্তর করতে ফাইলের সংখ্যা কম হয়।
ব্যবহারকারী 1071136

8

সুইস ফাইল ছুরি ব্যবহার করুন ।

উদাহরণস্বরূপ: sfk addcr -dir . -file .txt -norec
বর্তমান ডিরেক্টরিতে সমস্ত টেক্সট ফাইলগুলিতে উইন্ডোজের জন্য সিএফ / এলএফ-তে এলএফ এন্ডিংস পরিবর্তন করে তবে সাব-ডিরেক্টরিতে নেই (পুনরুক্তি নেই)।

তবে এই প্রোগ্রামটি কেবল এটির চেয়ে অনেক বেশি কাজ করে।


আমি নির্দিষ্ট করে দিচ্ছি না -norecকারণ আমি পুনরাবৃত্তি ঘটতে চাই তবে এটির মতো বলে মনে হচ্ছে না
Csaba Toth

6

সাইগউইনে, আপনি দুটি বিল্ট-ইন ইউটিলিটি ব্যবহার করে ইউনিক্স এবং "ডস" এ কেএ উইন্ডোজ ফাইলগুলির মধ্যে রূপান্তর করতে পারেন:

ডস সিআর / এলএফ ফর্ম্যাটে রূপান্তর করুন:

u2d filename

ইউনিক্স সিআর ফর্ম্যাটে ফিরে রূপান্তর করুন:

d2u filename

ফাইলটি একই নামের সাথে রেখে দেওয়া হয়েছে।

উপভোগ করুন! গাদা


এটি কখনও কখনও বলা হয় dos2unixবা unix2dosক্ষেত্রে আপনি এটি u2d বা d2u হিসাবে খুঁজে পেতে পারেন না। এছাড়াও রয়েছেunix2mac
gtatr

3

আমি এই সমাধানটি সেখানে ফেলে দিতে যাচ্ছি। গিট এটি করবে। এটি সম্পর্কে এই পোস্টটি দেখুন

সুতরাং তাত্ত্বিকভাবে আপনি একটি সম্পূর্ণ গাছ রূপান্তর করতে এটি করতে পারেন

cd root/of/tree
git init .
git add .
git commit -m "initial commit"
echo "* text eol=crlf" > .gitattributes
git rm --cached -r .
git reset --hard

crlfআপনি lfযদি অন্য পথে যেতে চান তবে পরিবর্তন করুন । দ্রষ্টব্য: আপনি এখনও করেননি, পড়া চালিয়ে যান

git statusকোন ফাইলগুলি প্রভাবিত হবে তা দেখতে টাইপ করুন । আপনার মত লাইন যোগ করতে হতে পারে

*.jpg binary
*.png binary
*.gif binary

ইত্যাদি .gitattributesনির্দিষ্ট ফাইল রূপান্তর এড়ানোর জন্য। আপনি নির্দিষ্ট ফাইলগুলিকে পাঠ্য হিসাবে চিহ্নিত করতে পারেন

*.md text
*.css text

তারপরে আপনি সম্পাদনা করার পরে এই 2 টি লাইনের পুনরাবৃত্তি করুন .gitattributes

git rm --cached -r .
git reset --hard

তারপরে git statusকোন ফাইলগুলি পরিবর্তন করা হবে তা দেখতে আবার ব্যবহার করুন । যখন আপনি নিশ্চিত হন যে আপনি যে সমস্ত ফাইলগুলি প্রভাবিত করতে চান git statusতারপরে কমিট দ্বারা তালিকাভুক্ত করা হয়

git add .
git commit -m "normalize line endings"

এখন আবার সমস্ত ফাইল পরীক্ষা করে দেখুন

git rm --cached -r .
git reset --hard

আপনার কাঙ্ক্ষিত লাইনের সমাপ্তিগুলি এখনই তাদের উচিত

** দ্রষ্টব্য: আপনি যদি ইতিমধ্যে গিট ব্যবহার করেন তবে প্রথমে 3 টি কমান্ড গিট কমান্ড ছেড়ে যান। আপনি যদি গিট ব্যবহার না করে থাকেন তবে এখন আপনি .gitattributesফাইল এবং .gitফোল্ডারটি মুছতে পারেন ।

** আপনার ফাইলগুলির ব্যাকআপ নিন: git rm --cached -rএগুলি সমস্ত মুছে ফেলা হয় (যদিও তারা তাত্ত্বিকভাবে আপনার গিট রেপোতে (.git ফোল্ডার) এ থাকে যা তারা শেষ কমান্ড দ্বারা পুনরুদ্ধার করে git reset --hardfiles ফাইলগুলি মুছে ফেলা হচ্ছে কেবল এগুলি ব্যাক করার পক্ষে সম্ভবত সেরা best আপ।


1

এমন একটি পাঠ্য সম্পাদক ব্যবহার করুন যা সাইটিটিই বা নোটপ্যাড ++ এর মতো উভয় লাইনের সমাপ্তি বোঝে যদি আপনার সমস্ত ফাইলে শেষ হওয়া সমস্ত লাইন রূপান্তর করতে না হয় তবে কেবল প্রথম লাইনে সম্পূর্ণ ফাইলটি দেখতে চান না।


লিনাক্সে স্যুইচ করার সময় আমার যখন বিপরীতমুখী সমস্যা হয়েছিল তখন তারা বলেছিল। আমি এমন সরঞ্জামগুলিতে চালিয়ে যাচ্ছি যাতে ভুল লাইন শেষের সাথে সমস্যা ছিল। এবং কিছুই মিশ্রিত লাইন শেষ যুক্তিসঙ্গতভাবে পরিচালনা করে।
ম্যাথু স্কাউটেন

@ ম্যাথু আমি জানি স্কাইট হ্যান্ডেলটি ইউনিক্স / উইন্ডোজ লাইনটি সঠিকভাবে শেষ হবে। হোস্ট সিস্টেমে ফাইলগুলি সম্পাদনা করার সময় আমি লিনাক্সে চালিত উইন্ডোজ ভিএমএসে আমি সে উদ্দেশ্যে এটি ব্যবহার করি।
নেলারো

আমি নিশ্চিত যে আপনি যে সম্পাদকদের পরামর্শ দিয়েছেন তারা ঠিক কাজ করবে। তবে এক পর্যায়ে, আমাকে অন্য কোনও সরঞ্জামে পাঠ্য ফাইলটি খাওয়াতে হবে, এবং সেই সরঞ্জামটি তা করবে না। এই মুহুর্তে, এমন একটি পাঠ্য সম্পাদক থাকা যাতে জিনিসগুলি ভালভাবে পরিচালনা করে তা সমস্যা লুকিয়ে রেখে আরও খারাপ করে দেবে। এবং আমি বাজি দেব যে এটি এখনও মিশ্র পরিণতিগুলি খারাপভাবে পরিচালনা করে (বা কমপক্ষে কমপক্ষে)।
ম্যাথিউ স্কাউটেন

1
নোটপ্যাড ++ বিকল্পের জন্য মিথ্যা শেষগুলি রূপান্তর করতে +1। এবং এখানে আরও কীভাবে সুনির্দিষ্টভাবে করা যায় তা দেখুন ("পদ্ধতি 2" দেখুন): স্টাফwww.fullcoll.edu/brippe/csci123/saveAsUnix.aspx
30:38

নোটপ্যাড ++ এর মধ্যে ইতিমধ্যে অন্যান্য জিনিসগুলির মধ্যে লাইন
এন্ডিংগুলি

0

টেক্সট ফাইলগুলিতে ইলন অক্ষরগুলি অনুবাদ করার বিভিন্ন উপায় রয়েছে এবং প্রত্যেকেরই পছন্দ রয়েছে।

তবে আমি সর্বদা বিনারি মোডে লিনাক্স থেকে উইন্ডোজগুলিতে ফাইলগুলি স্থানান্তর করি, তারপরে আমি উইন্ডোজে টেক্সট ফাইলগুলি উভয় প্রকারের খোলার জন্য সক্ষম একটি সম্পাদক দিয়ে খুলি, এবং প্রয়োজনে সেগুলি উভয় আকারে সংরক্ষণ করি।

আমি এর জন্য প্রোগ্রামার্স ফাইল সম্পাদক ব্যবহার করেছি, তবে নোটপ্যাড ++ এটিও করতে পারে। ওয়ার্ডপ্যাডও দরকারী [কমপক্ষে, এলএফ সমাপ্ত ফাইলগুলি দেখার জন্য ]।

আমি লিনাক্স থেকে উদ্ভূত সহজ পাঠ্য ফাইলগুলির কথা ভাবছি এবং উইন্ডোজের (ডিফাক্টো স্ট্যান্ডার্ড) বিশ্বে পাঠযোগ্য হতে হবে। আমি নিশ্চিত না যে আপনি 'ইউনিক্স-স্পর্শ করা ফাইল' দ্বারা কী বোঝাতে চেয়েছিলেন।


এই পদ্ধতির সমস্যাটি হ'ল এটি একবারে কেবল একটি ফাইল করে।
ম্যাথু স্কাউটেন

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

2
আমি কি ছিল সত্যিই এই বলে যে পাঠ্য ফাইল দেখার জন্য ডান সফ্টওয়্যার চয়ন করে, তারা এ সব রূপান্তরিত করা হবে না ছিল। বিটিডাব্লু, আমি সিআরএলএফ সমাপ্ত ফাইলগুলিকে 'যথাযথ' হিসাবে বর্ণনা করার জন্য আপনাকে কাজে লাগানো এড়িয়ে চললাম। এটি সম্পূর্ণ আপনার দৃষ্টিভঙ্গির উপর নির্ভর করে। প্রতিটি পদ্ধতি তার নিজস্ব ওএসে উপযুক্ত। যখন কোনও ফাইল অন্য কোনও ওএসে স্থানান্তরিত হয়, তখন আমরা দেখতে পাই যে উইন / ম্যাক / লিনাক্স সবই আলাদা। আমার সন্দেহ হয় যে ইউনিক্স / লিনাক্স পদ্ধতিটি আসল।
প্যাভিয়াম

3
আপনি ভুল সন্দেহ। ASCII স্ট্যান্ডার্ডটি মূলত টেলি টাইপ মেশিনগুলির জন্য বিকাশ করা হয়েছিল, এবং ম্যান্ডেটেড সিআরএলএফ। বেশিরভাগ ইন্টারনেট প্রোটোকলগুলিতে (এইচটিটিপি, এসএমটিপি, এফটিপি, আইআরসি এবং আরও অনেকগুলি সহ) সিআরএলএফ সমাপ্তির প্রয়োজন হয় (বেশিরভাগ বাস্তবায়নগুলি নন-কমপ্লায়েন্ট ইউনিক্স প্রোগ্রামগুলির সাথে সামঞ্জস্যের জন্য খালি এলএফ গ্রহণ করে)। এই ক্ষেত্রে, উইন্ডোজ মান অনুসরণ করছে এবং ইউনিক্স এবং ম্যাক এটি ভঙ্গ করছে।
ম্যাথিউ স্কাউটেন

0

আরও বিকল্প প্রস্তাব দেওয়ার জন্য (যদিও আমি ব্যবহারকারীর 45832 এর হ্যাক উত্তরটি সবচেয়ে ভাল উপভোগ করেছি ):

অনলাইন রূপান্তরকারী

আমি অনুমান করি একটি জিইউআই এফটিপি প্রোগ্রাম এটি স্বয়ংক্রিয়ভাবে করবে

ব্যাচ / ডস ওয়ান-লাইনার (খালি লাইনগুলি সরিয়ে দেয়) :

FOR /F "eol= delims= usebackq" %a IN (infile.txt) DO (ECHO %a>> outfile.txt)

শক্তির উৎস:

gc infile.txt | %{$_.split("`n")} | Out-File outfile.txt

এখান থেকে শেষ দুটি পেয়েছি


0

উইন্ডোজ জন্য AWK পান ।

ইউনিক্স লাইন এন্ডিংগুলিকে উইন্ডোজ লাইন এন্ডিংয়ে রূপান্তর করুন:

awk 'sub("$", "\r")' unixfile.txt > winfile.txt

উইন্ডোজ লাইন এন্ডিংগুলিকে ইউনিক্স লাইন এন্ডিংয়ে রূপান্তর করুন:

awk '{ sub("\r$", ""); print }' winfile.txt > unixfile.txt

এর পুরানো সংস্করণগুলিতে ফাংশনটি awkঅন্তর্ভুক্ত নয় sub। এই ধরনের ক্ষেত্রে, একই কমান্ডটি ব্যবহার করুন, তবে বা এর awkসাথে প্রতিস্থাপন করুন ।gawknawk

সূত্র


0

উইকিপিডিয়ায় সেন্টিমিডিতে একটি সমাধান রয়েছে:

TYPE unix_file | FIND /V "" > dos_file

পাওয়ারশেলে এই প্রশ্নটি যা করা হয়েছিল তার বিপরীতে তা করার বিভিন্ন উপায় রয়েছে ।

(Get-Content $file -Raw).Replace("`n", "`r`n") | Set-Content $path -Force

(Get-Content $infile) -join "`r`n" > $outfile

$text = [IO.File]::ReadAllText($original_file) -replace "`n", "`r`n"
[IO.File]::WriteAllText($original_file, $text)

ভিবিএস স্ক্রিপ্ট এবং জেএসক্রিপ্টে এটি করা সম্ভব, এটি তৃতীয় পক্ষের অ্যাপ্লিকেশন ইনস্টল না করে উইন্ডোজে ইতিমধ্যে উপলব্ধ এমন সরঞ্জামগুলি।


0

আমার লিনাক্স ডিস্ট্রিবিউশনের দুটি সামান্য ইউটিলিটি রয়েছে fromdosএবং todosআমি এই কাজের জন্য ব্যবহার করি।


ওপি একটি উইন্ডোজ সরঞ্জামের
ফুক্লিভি

-2

আমি ফাইলটি 'সম্পাদনা' -তে খুলতাম এবং কাজটি যেমন করা হয়েছিল তেমন সংরক্ষণ করতাম ...


"সম্পাদনা" কি? উইন্ডোজ 10
তে


স্পষ্টতই আমি editডস ব্যবহার করেছি তবে এই প্রশ্নটি উইন্ডোজ
ফুক্লভি

1
editউইন্ডোজ পর্যন্ত অংশ ছিল Windows XP। আমার উত্তরটি প্রায় 8 বছর বয়সী। সেই সময়টি editঅনেক ক্ষেত্রে উইন্ডোজ ইনস্টলেশনের অংশ ছিল ...
রাদেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.