পোস্টটি সনাক্ত করুন তারপরে সেড ব্যবহার করে একটি পরিবর্তন করুন


11

এই স্ক্রিপ্টটি সব "" "" নতুন স্টাফ "" - এ পরিবর্তনের জন্য সেড ব্যবহার করে। ইয়াহির পরে একজন কীভাবে "" "পরিবর্তন করবেন: সেড বা অন্য কিছু ব্যবহার করে?

cat >sample.txt <<EOF
xxx:
""
yyy:
""
}
EOF
sed --expression='s/""/"new stuff"/' sample.txt

উত্তর:


8

আমি আপনার প্রশ্ন বুঝতে পারে না। যদি আপনি 'হ্যাঁ' এর পরে কেবল মানটি প্রতিস্থাপন করতে চান তবে পূর্ববর্তী উত্তরটি ব্যবহার করুন। আপনি যদি 'ইয়ি' এর পরে কোনও মান পরিবর্তন করতে চান তবে এই ওয়ান-লাইনারটি ব্যবহার করে দেখুন:

sed --expression='/yyy/,$ s/""/"new stuff"/g' sample.txt

এটি পরীক্ষা করা হয়নি: ডি ...


3

ও'রিলি থেকে উত্তর সংগ্রহ করুন - পৃষ্ঠা 152 এর কাছাকাছি এবং বীজ 2 তম সংযোজন

একটি ফাইল একটি স্ক্রিপ্ট লিখুন

/yyy\:$/{
N
s/yyy\:\n\"\"/yyy\:\
\"new stuff\"/
}

এটি আপনার ডেটাতে স্বাভাবিকের সাথে প্রয়োগ করুন

sed -f স্ক্রিপ্ট নমুনা। txt

এই স্ক্রিপ্টটি বলে যে হ্যাঁ: খুঁজে পাওয়া গেলে প্যাটার্ন বাফারটিতে অন্য লাইনটি পড়ুন (স্টার ট্রেক ট্রান্সপোর্টারের মতো শব্দ)। এখন যুক্ত লাইনগুলিতে / কমান্ড হিসাবে করুন। সুতরাং আমরা yyy: নিউলাইন "" খুঁজছি। যদি yyy এর সাথে প্রতিস্থাপন পাওয়া যায়: ks ব্যাকস্ল্যাশ আসল নিউলাইনটি লক্ষ্য করুন তবে "নতুন স্টাফ"

শুভকামনা


1
ম্যান পেজ দেখুন: unixhelp.ed.ac.uk/CGI/man-cgi?sed ঠিকানা অনুচ্ছেদের জন্য অনুসন্ধান করুন

1

জিনিসগুলি জটিলতার একটি নির্দিষ্ট স্তরের বাইরে গেলে আমি পার্লে স্যুইচ করি । s2p আপনার বর্তমান সেড সমাধানটির অনুবাদ পরিচালনা করবে। অথবা আপনি এটিকে স্ক্র্যাচ থেকে তুচ্ছভাবে লিখতে পারেন। অনুসন্ধান / প্রতিস্থাপন এক্সপ্রেশন একই থাকবে।

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