ডস 2 ইউনিক্স, পার্ল, টিআর এবং সেড উপস্থিত নেই এমন ফাইলগুলি থেকে কীভাবে সিটিআরএল-এম সরিয়ে ফেলবেন?


9

ধরুন আপনি একটি খুব পুরানো UNIX সার্ভারে কাজ করছেন যেখানে dos2unix, perl, tr, এবং sedউপস্থিত না। কীভাবে আপনি ডস থেকে ইউনিক্স ফর্ম্যাটে ফাইল রূপান্তর করতে পারেন ?


সেড অনুমোদিত?
এলমার্কো

@ এলমার্কো: না :(
হেমন্ত

9
একটি ইউনিক্স সার্ভারটি কত বছর বয়সী হতে হবে trএবং নেই sed? sedপুরানো ........
আইরিচ

1
চান exবা edযে মত একটি সিস্টেমে পাওয়া যাবে? যদি না থাকে বা না থাকে তবে আমি এটিকে ইউনিক্স বলব । trsed
ম্যাটবিয়ানকো

3
না sed? সত্যিই !? স্বার্থের বাইরে, সিস্টেমটি কী? গিলস এবং ম্যাটবিয়ানকো যেমন উল্লেখ করেছেন, এটি সম্ভবত edকমপক্ষে থাকতে পারে।
মাইকেল

উত্তর:


12

আমি মনে করি আপনি লাইনের শেষে ক্যারেট-এম অপসারণের কথা উল্লেখ করছেন। এটি করতে আপনি vi এ অনুসন্ধান এবং প্রতিস্থাপন করতে পারেন।

Vi তে আমি সাধারণত: (যেখানে "^" সিটিআরএল উপস্থাপন করে):

:%s/^V^M//g

যা স্ক্রিনে দেখায়:

:%s/^M//g

ধন্যবাদ যে কাজ করেছে :)। আমি মনে করি এটি খুব বহনযোগ্য সমাধান।
হেমন্ত

4
আপনি ফাইলটি ভিম করে ডাব্লু / আউট করতে একই জিনিসটি ব্যবহার করতেও সেড ব্যবহার করতে পারেন: সেড-ই '% s / ^ ভি ^ এম // জি' ফাইলের নাম যা পর্দায় সেড ই '% s / as হিসাবে প্রদর্শিত হবে এম // জি 'ফাইলের নাম সাধারণভাবে, আপনি যদি এটি ভিমে অনুসন্ধান / প্রতিস্থাপন করতে পারেন তবে কমান্ডটি সেডে কার্যত একই is
গ্যাবে

2
@ গাবে: সেড সলিউশনটি আসলে আরও বেশি বহনযোগ্য +1 :)
ওয়াজার্ড

@wzzrd, sedএবং viউভয়ই পসআইএক্স দ্বারা নির্দিষ্ট করা হয়েছে , এবং সেই viআদেশটি কোনও ভিম ​​এক্সটেনশন ব্যবহার করে না।
ওয়াইল্ডকার্ড

@jjclarkson ^Vএবং '^ এম' এর অর্থ কী?
কোকেড

6

trবা ছাড়া কোনও সার্ভারটি sedসত্যই পুরানো হতে হবে, বা কিছু বেসিক কমান্ডগুলি অনুপস্থিত। আশাকরি edআছে; এটি ইউনিক্স প্রথম সংস্করণে বিদ্যমান ছিল ।

ed /path/to/file
1,$s/^V^M$//
w
q

যেখানে ^V^Mটাইপ মানে Ctrl+ + Vতারপর Ctrl+ + M(ক আক্ষরিক লাইন ফিড প্রবেশ করতে)। আপনি যদি জানেন যে সমস্ত লাইন সিআর এলএফ-এ শেষ হয় তবে আপনি তার 1,$s/.$//পরিবর্তে ব্যবহার করতে পারেন (নির্বিচারে প্রতিটি লাইনটির শেষ অক্ষরটি সরিয়ে ফেলুন)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.