এই সমস্যাটি সমাধান করার জন্য আমি জানি সবচেয়ে দ্রুত এবং সহজ উপায়:
যখন আমরা নতুন লাইনের চরিত্রটি \n
স্থানের সাথে প্রতিস্থাপন করতে চাই :
xargs < file
xargs
প্রতি লাইন অক্ষরের সংখ্যা এবং একত্রিত সমস্ত অক্ষরের সংখ্যার নিজস্ব সীমা রয়েছে তবে আমরা সেগুলি বাড়াতে পারি। এই আদেশটি চালিয়ে বিশদগুলি পাওয়া যাবে: xargs --show-limits
এবং অবশ্যই ম্যানুয়ালটিতে:man xargs
যখন আমরা একটি চরিত্রকে অন্য একটি চরিত্রের সাথে প্রতিস্থাপন করতে চাই :
tr '\n' ' ' < file
যখন আমরা একটি চরিত্রকে অনেকগুলি অক্ষরের সাথে প্রতিস্থাপন করতে চাই :
tr '\n' '~' < file | sed s/~/many_characters/g
প্রথমে, আমরা টিল্ডসের \n
জন্য নিউলাইন অক্ষরগুলি প্রতিস্থাপন করি ~
(বা পাঠ্যের মধ্যে উপস্থিত না হয়ে অন্য একটি অনন্য অক্ষর চয়ন করি) এবং তারপরে আমরা টিল্ড অক্ষরগুলিকে অন্য কোনও অক্ষর ( many_characters
) দিয়ে প্রতিস্থাপন করি এবং আমরা প্রতিটি টিল্ড (পতাকা g
) এর জন্য এটি করি ।
sed
স্ক্রিপ্টটি একক-কোটায় রাখার প্রয়োজন যাতে বাশ এতে বিচলিত না হয় (যেহেতু দুটি আর্গুমেন্ট সহsed s/\n/ /g
কল এবং ); (2) যেহেতু আপনি আউটপুট চান হতে ইনপুট করতে , না আর্গুমেন্ট থেকে , আপনি নিষ্কাশন প্রয়োজন ; এবং (3) এখানে কোনও প্রয়োজন নেই, যেহেতু কোনও ফাইল নাম এটির দ্বিতীয় যুক্তি হিসাবে গ্রহণ করতে পারে। সুতরাং, আপনার চেষ্টা করা উচিত ছিল । (এই ক্ষেত্রে এটি উপরের লিঙ্কটি দেওয়া কারণের জন্য কাজ করতো না, কিন্তু এখন আপনি যদি ভবিষ্যতে জানি।)sed
s/n/
/g
cat file | grep pattern
sed
sed
xargs
cat
grep
grep pattern file | sed 's/\n/ /g'