স্পেসিফিক লাইন থেকে সাদা স্থান কীভাবে সরিয়ে ফেলবেন?


2

বলুন আমার একটি কাঠামোগত ফাইল আছে:

এক্স সিকোয়েন্স 1 এটি

এবিসিডিডি এফজিএইচ এইচআইজে

এক্স সিকোয়েন্স 2 এটি

এবিসিডিডি এফজিএইচ এইচআইজে

আমি কীভাবে শর্তাধীন সাদা স্থান সরিয়ে ফেলব? আমি জানি নীচের স্নিপেট সমস্ত সাদা স্থান সরিয়ে ফেলবে। কেবল এক্স দিয়ে শুরু করা লাইনে আমি কীভাবে সাদা স্থান সরিয়ে ফেলতে সক্ষম হব?

sed 's/ //g' 

আমিও দেখেছি

 '/^startswith

ব্যবহার করা হয়েছে, তবে কাজ করার জন্য তাদের একসাথে বাঁধা বলে মনে হচ্ছে না।

ধন্যবাদ।

উত্তর:


3

ইন awk, সাধারণ সিনট্যাক্স একটি কোড ব্লক, যেখানে "ঠিকানা" হয় একটি লাইন সংখ্যা বা একটি দ্বারা অনুসৃত ঠিকানা /regex/বা কমা চিহ্ন দ্বারা বিভাজিত from,toপরিসীমা।

সুতরাং আপনি যদি X এর সাথে শুরু হওয়া লাইনগুলি মেলাতে চান এবং তাদের প্রতিস্থাপন প্রয়োগ করতে পারেন:

/^X/ { gsub(/ /, ""); } { print; }

(২ য় ব্লকটি ঠিকানাবিহীন, সুতরাং এটি সমস্ত লাইন মুদ্রণ করে))

সিডের সিনট্যাক্সটি অনুরূপ, কমান্ডগুলি সংক্ষিপ্ত ( s/…/…/বিকল্পের জন্য) এবং সিঙ্গল-কমান্ড ব্লকের জন্য ব্রেসগুলির প্রয়োজন নেই। সুতরাং একই কাজটি সেড ব্যবহার করে সম্পাদন করা যেতে পারে:

/^X/ { s/ //g; }

বা সংক্ষিপ্ত

/^X/ s/ //g

(শেডেরও স্পষ্ট "মুদ্রণ" ব্লকের প্রয়োজন নেই, কারণ প্রিন্টিং ইতিমধ্যে সেখানে ডিফল্ট, -n দেওয়া না থাকলেও এটির একটি মুদ্রণ কমান্ড নেই p।)


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