যদি আমি এই কোডটি ব্যাশে চালাই:
echo dog dog dos | sed -r 's:dog:log:'
এটি আউটপুট দেয়:
log dog dos
আমি কীভাবে এটি কুকুরের সমস্ত ঘটনা প্রতিস্থাপন করতে পারি?
যদি আমি এই কোডটি ব্যাশে চালাই:
echo dog dog dos | sed -r 's:dog:log:'
এটি আউটপুট দেয়:
log dog dos
আমি কীভাবে এটি কুকুরের সমস্ত ঘটনা প্রতিস্থাপন করতে পারি?
উত্তর:
আপনার gমোডিফায়ারটি যুক্ত করা উচিত যাতে সেড প্যাটার্ন বাফারের সামগ্রীর বৈশ্বিক প্রতিস্থাপন সম্পাদন করে :
echo dog dog dos | sed -e 's:dog:log:g'
সেডে চমত্কার ডকুমেন্টেশনের জন্য, http://www.grymoire.com/Unix/Sed.html দেখুন । এই বিশ্ব পতাকাটি এখানে ব্যাখ্যা করা হয়েছে: http://www.grymoire.com/Unix/Sed.html#uh-6
এর জন্য সরকারী ডকুমেন্টেশনটি http://www.gnu.org/software/sed/manual/GNU sed এ উপলব্ধ
sed -E 's,foo,bar,g'বিশ্বব্যাপী জিনিসটি করবেন না। আপনি যদি এটি পরিবর্তন করেন তবে sed -E -e 's,foo,bar,g'এটি কাজ করে।
আপনাকে একটি gশেষে রাখতে হবে, এটি "গ্লোবাল" এর জন্য দাঁড়িয়েছে:
echo dog dog dos | sed -r 's:dog:log:g'
^
man sedউবুন্টু অনুসারে -rবিকল্পটির অর্থ "বর্ধিত নিয়মিত অভিব্যক্তি ব্যবহার করুন"। সুতরাং প্রদত্ত কমান্ডটি ঠিকঠাক কাজ করে, যদিও এটির জন্য কাজ করার জন্য বর্ধিত নিয়মিত এক্সপ্রেশনগুলির বৈশিষ্ট্যগুলির প্রয়োজন নেই।
gগ্লোবাল প্রতিস্থাপনের জন্য আপনার পতাকা দরকার , আপনার-rএখানে বিকল্পের দরকার নেই ।