Bash r \ n কে \ n রূপান্তর করার জন্য কি কোনও বাশ আদেশ আছে?
আমি যখন আমার স্ক্রিপ্টগুলি উইন্ডোজ থেকে লিনাক্সে আপলোড করি, জিনিসগুলিকে কাজ করতে আমার এই জাতীয় একটি ইউটিলিটি প্রয়োজন।
dos2unixএকটি ইউনিক্স / লিনাক্স প্রোগ্রাম রয়েছে যা আপনি চান তা করতে।
Bash r \ n কে \ n রূপান্তর করার জন্য কি কোনও বাশ আদেশ আছে?
আমি যখন আমার স্ক্রিপ্টগুলি উইন্ডোজ থেকে লিনাক্সে আপলোড করি, জিনিসগুলিকে কাজ করতে আমার এই জাতীয় একটি ইউটিলিটি প্রয়োজন।
dos2unixএকটি ইউনিক্স / লিনাক্স প্রোগ্রাম রয়েছে যা আপনি চান তা করতে।
উত্তর:
অনুবাদ ( টিআর ) সমস্ত ইউনিক্সে উপলব্ধ:
tr -d '\r' # From \r\n line end (DOS/Windows), the \r will be removed so \n line end (Unix) remains.
\r। তারা যদিও খুব অস্বাভাবিক।
একটি ইউনিক্স ইউটিলিটি বলা হয় convযা লাইন এন্ডিংগুলিকে রূপান্তর করতে পারে। এটি প্রায়শই সফটলিঙ্কগুলিতে u2dবা d2uবা unix2dosবা এর সাথে যুক্ত থাকে dos2unix।
অতিরিক্ত হিসাবে আছে ইউটিলিটি fromdosএবং বলা হয় todos।
ম্যান 1 এড ব্যবহার করে (যা কোনও পূর্ববর্তী ব্যাকআপ ব্যতীত জায়গায় জায়গায় ফাইলগুলি সম্পাদনা করে - বিপরীতে: সেড .. -i ".বাক" ...):
ed -s file <<< $'H\ng/\r*$/s///\nwq'
পসিক্স দিয়ে এটি করা কঠিন:
পসিক্স শেড সমর্থন করে না \rবা \15। এমনকি যদি তা করে, তবে স্থানটির বিকল্পটি -iপসিক্স নয়
পসিএক্স আওক সমর্থন করে \rএবং \15, তবে -i inplaceবিকল্পটি পসিক্স নয়
d2u এবং dos2unix নয় POSIX ইউটিলিটি কিন্তু প্রাক্তন হয়
POSIX প্রাক্তন সমর্থন করে না \r, \15, \nবা\12
গাড়ীর রিটার্ন অপসারণ করতে:
awk 'BEGIN{RS="\1";ORS="";getline;gsub("\r","");print>ARGV[1]}' file
গাড়ীর রিটার্ন যুক্ত করতে:
awk 'BEGIN{RS="\1";ORS="";getline;gsub("\n","\r&");print>ARGV[1]}' file
হ্যাঁ, ব্যবহার dos2unix। উদাহরণ স্বরূপ:
[justin@mybox ~]$ dos2unix myfile
dos2unixসাধারণত পাওয়া যায়, অন্যথায়sed -e 's/\r$//'