আমি কীভাবে একটি নিউলাইনটিকে তার পালানোর ক্রমের সাথে প্রতিস্থাপন করতে পারি?


3

sedস্ট্রিং লিটারেলগুলিতে ব্যবহারের জন্য উপযুক্ত কিছু অক্ষরযুক্ত এমন পাঠ্য তৈরি করতে ব্যবহার করা সহজ:

sed "s/\\\\/\\\\\\\\/g"
sed "s/\\\"/\\\\\\\"/g"

তবে আমি কীভাবে নতুন লাইনের অক্ষরযুক্ত টেক্সট ফাইলের সাথে অনুরূপ কিছু করতে পারি?


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

উত্তর:


5

ব্যবহার করুন:

sed ':a;N;$!ba;s/\n/\\n/g'

কোনটি সদর ব্যবহার করে আমি একটি নতুন লাইন () n) প্রতিস্থাপন করতে পারি তা থেকে উত্তরটি ব্যবহার করে? এখানে প্রশ্নের সাথে মেলে প্রতিস্থাপন হিসাবে একটি পালানো নিউলাইন চরিত্রকে প্রতিস্থাপন করা।


0

সেড লাইন ভিত্তিক, এবং নিউলাইন চরিত্রগুলি প্রতিস্থাপন করার চেষ্টা করার সময় এটি সমস্যা সৃষ্টি করতে পারে।

সেডের জন্য অফিসিয়াল ডকুমেন্টেশনগুলি নিউলাইন চরিত্রগুলির একটি নির্দিষ্ট রেফারেন্স তৈরি করে এবং জানিয়েছে যে সেডে যাওয়ার আগে সেগুলি ছিনিয়ে নেওয়া হয়।

আমি পরামর্শ দেব যে 'ট্র' সম্ভবত এখানে আরও ভাল ফিট হবে।

উদাহরণস্বরূপ, স্পেস সহ নতুন লাইনের অক্ষরগুলি প্রতিস্থাপন করতে:

tr '\n' ' ' < inputfile

[\r\n]ক্লিনার হবে না ?
থিওডেন

আমি অনুমান করি যে সমস্ত সোর্স ডেটা এবং প্রয়োজনীয়তার উপর নির্ভর করে। ওপি কেবল নিউলাইনকেই উল্লেখ করে। আমি উভয়ই চেষ্টা করার চেষ্টা করব এবং এটি দেখতে সবচেয়ে ভাল ফলাফল দেয়। YMMV।
ডেভিড মোলান

আমি tr "\n" "\\n"এই প্রশ্নটি পোস্ট করার আগে আমি ব্যবহার করার চেষ্টা করেছি এবং এটি কেবল নিউলাইন চরিত্রগুলিকে ব্যাকস্ল্যাশগুলির সাথে প্রতিস্থাপন করেছে। দেখে মনে হচ্ছে কেবল একটি ক্রমকে কেবল একটি চরিত্রে পরিণত করা হয়েছে।
মেলাব

@ মেলাব সঠিক 'tr' কমান্ড কেবল একটি একক অক্ষর প্রতিস্থাপন করবে।
ডেভিড মোলান

তাহলে কীভাবে এটি আদৌ সহায়তা করে?
মেলাব


0

আমারও এই সমস্যা ছিল

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

echo -n $(sed '\a
\\n');

সেড কমান্ডের আগে আপনি প্রথম বন্ধনীতে যা-কিছু করুন তা আটকে দিন।

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