সেড - একাধিক বিকল্প বিকল্প কীভাবে করবেন তবে কেবল একবার ফাইলটি প্রক্রিয়া করবেন?


31

যদি আমি একাধিক বিকল্পগুলি করছি যা ক্রমাগত হওয়া দরকার eg

sed -i '/^[[:space:]]*browser.*\.should/s/browser/expect(browser/' t1_spec.rb
sed -i '/expect(browser.*\.should/s/\.should/).should/' t1_spec.rb
sed -i 's/\.should/\.to/' t1_spec.rb 
sed -i 's/==/eq/' t1_spec.rb 

এটি করার কি আরও ভাল উপায় আছে যা কেবল একবার t1_spec.file দিয়ে যাবে এবং 4 বার ফাইলের মধ্য দিয়ে 4 লাইনের পরিবর্তে প্রতিটি লাইনের জন্য 4 টি বিকল্প করবে?

উত্তর:


43

সেমিকোলন ব্যবহারের পাশাপাশি আপনি -eপতাকা ব্যবহার করে একাধিক এক্সপ্রেশনও দিতে পারেন :

sed -i -e 's/expr1/replace1/' -e 's/expr2/replace2/'  t1_spec.rb 

14

জিএনইউতে (উদাঃ আমার উবুন্টু মেশিনে) একাধিক লাইন ব্যবহার করা সমর্থনযোগ্য এবং ভাল কাজ করে এবং দুর্দান্ত (imho) দেখতে দুর্দান্ত লাগে কারণ এটি সুপার লম্বা লাইনগুলি এড়ায়, যেমন

sed -i '/^[[:space:]]*browser.*\.should/s/browser/expect(browser/
        /expect(browser.*\.should/s/\.should/).should/
        s/\.should/\.to/
        s/==/eq/' t1_spec.rb 

5

আপনি একক কোটের মধ্যে পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথকসমূহ পৃথক করতে আপনি সেমিকোলন ব্যবহার করতে পারেন বা -fবিকল্পটি সহ ফাইলটি নির্দিষ্ট করতে পারেন sed

আপনি বার বার একই sedকমান্ডের সেট ব্যবহার করতে যাচ্ছেন তবে ফাইলটি বিশেষত কার্যকর useful আমার কোনও নোংরা ডেটা ফিড নিয়ে ডিল করতে হয়েছিল এবং আমি ফিড massage.sedথেকে প্রাপ্ত বেশিরভাগ সাধারণ ভুলগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলার জন্য 88 88 লাইনের ফাইলটি দিয়ে শেষ করেছি।

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