দুটি নির্দিষ্ট স্ট্রিংয়ের মধ্যে পাঠ্য অপসারণ করা হচ্ছে


10

নীচের মতো আমার কাছে একটি ফাইল রয়েছে:

mime PI Name: ISHO SUCCESS RATE RT, Value: 95.663826
scr  PI Name: RRC Access Failures due to UU, Value: 0.13394141
prog PI Name: RRC Access Failures due to UU, Value: 0.16077702
sch PI Name: RRC Access Failures due to UU, Value: 0.11781933

আমি টেক্সট সরাতে চান PIপর্যন্ত Value:। আমি চেষ্টা করেছিলাম

sed '/<PI>/,/<\/Value:>/d' 

কোন সাহায্য?

উত্তর:



6

dকমান্ড ব্যবহার করে sedপুরো লাইন মুছে ফেলা হবে। এছাড়াও, আপনি কেন <এবং কেন ব্যবহার করছেন তা আমি নিশ্চিত নই >। সম্ভবত আপনি তাদের সাথে বিভ্রান্ত করছেন \<এবং \>এটি grepশব্দের সীমাটি বোঝাতে ব্যবহার করে? সেক্ষেত্রে, আপনার যা জানা উচিত যে sedব্যবহারসমূহ \bশব্দ সীমানা উভয় প্রকারের জন্য (শুরু এবং শেষ)। সুতরাং আপনি এই জাতীয় কিছু লিখতে পারেন:

sed -i 's/\bPI\b.*\bValue:\b//' your_file

অতিরিক্ত দৃust়তার জন্য, আমি perlঅলস পরিমাণের জন্য ব্যবহার করব .যাতে আপনি কেবলমাত্র প্রথম উপস্থিতি PIএবং প্রথম ঘটনার মধ্যে লেখাটি মুছবেন Value:। অবশ্যই এটি আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে।

perl -pi -e 's{ \b PI \b .*? \b Value: \b}{}x' your_file

1

নিদর্শনগুলির মধ্যে একাধিক লাইন (নিদর্শন সহ লাইন সহ) সরাতে নীচের কোডটি ব্যবহার করুন:

sed "/PI/,/Value:/d" your_file

আপনি যদি নিজের_ফাইলে সরাসরি পরিবর্তন করতে চান:

sed -i "/PI/,/Value:/d" your_file

পার্থক্যটি এখানে লক্ষ করুন - এটি একটি রেঞ্জের লাইনগুলি মুছে দেয় , যখন প্রশ্নটি দুটি স্ট্রিংয়ের মধ্যে পাঠ্য মুছে ফেলার জন্য জিজ্ঞাসা করছে ।
জেফ শ্যাচলার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.