শেষ ব্যতীত সমস্ত নিউলাইনগুলিকে স্থানটিতে প্রতিস্থাপন করুন


38

আমি কীভাবে সর্বশেষ নিউলাইন বাদে স্থানের সাথে সমস্ত নিউলাইনগুলি প্রতিস্থাপন করতে পারি। আমি সমস্ত নিউলাইনটি ব্যবহার করে স্পেসে প্রতিস্থাপন trকরতে পারি তবে কীভাবে আমি কিছু ব্যাতিক্রম করতে পারি?

উত্তর:


42

আপনি ব্যবহার করতে পারেন paste -s -d ' ' file.txt:

$ cat file.txt
one line
another line
third line
fourth line

$ paste -s -d ' ' file.txt 
one line another line third line fourth line

1
শান্ত! -sএবং -dঅপশন এই ক্ষেত্রে জন্য তৈরি ভালো বলে মনে হচ্ছে।
এমকেসি

10

আপনি trসমস্ত নিউলাইনগুলিকে স্থানটিতে sedপ্রতিস্থাপন করতে এবং আউটপুটটি পাস করতে এবং শেষ স্থানটিকে নতুন লাইনে ফিরিয়ে আনতে ব্যবহার করতে পারেন :

tr '\n' ' ' < afile.txt | sed '$s/ $/\n/'



-1

এটি আমার পক্ষে কাজ করেছে।

tr '\n' ' ' < file_with_new_line   | sed 's/\ $//g' > file_with_space

এটি শেষ নিউলাইনটিও সরিয়ে ফেলবে।
টেরডন

আমার মনে হয় না, এটা ঠিকঠাক কাজ করছে। আপনি কি সত্যিই চেষ্টা করেছেন ???
অভিজিৎ

হ্যাঁ আমার আছে. তোমার আছে? আপনার trকমান্ড সমস্ত নিউলাইনগুলি স্থানগুলির সাথে প্রতিস্থাপন করে এবং আপনার sedআদেশটি সর্বশেষ স্থানটি সরিয়ে দেয়। এটি একটি চূড়ান্ত নিউলাইন ছাড়াই একটি ফাইলের ফলাফল এবং তাই প্রশ্নটি যা জিজ্ঞাসা করছে তা নয়। উপায় দ্বারা, সেখানে ব্যবহার কোন বিন্দু int- এ এর gমধ্যে sedকমান্ড। যেহেতু আপনি ব্যবহার করছেন $, এটি কেবল শেষে মিলতে পারে, এটি gঅর্থহীন। আপনারও স্থানটি পালাতে হবে না, `either কোনও পার্থক্য রাখে না।
টেরডন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.