প্রথম ক্ষেত্রটি যদি লিনাক্স 1 হিসাবে স্ট্রিং দিয়ে শুরু হয় কেবল তখনই awk + মুদ্রণ লাইন


16

লিনাক্স 1 দিয়ে প্রথম ক্ষেত্রটি শুরু করার ক্ষেত্রে কীভাবে লাইনটি মুদ্রণ করা যায়

উদাহরণ স্বরূপ:

  echo Linux1_ver2  12542 kernel-update  |   awk '{if ($1 ~ Linux1 ) print $0;}'

লক্ষ্যটি হ'ল লাইনটি মুদ্রণ করা হবে, যখন প্রথম ক্ষেত্রটি লিনাক্স 1 দিয়ে শুরু হবে

লাইনের উদাহরণ:

Linux1-new  36352 Version:true
Linux1-1625543  9847
Linux1:16254 8467563 

মন্তব্য - স্থান বা ট্যাব প্রথম দায়েরের আগে হতে পারে

উত্তর:


15

একমুখী:

echo "Linux1_ver2  12542 kernel-update"  |  awk '$1 ~ /^ *Linux1/'

$ 1 এবং red অপ্রয়োজনীয়। আপনার প্রস্তাবটি ট্যাবগুলি কভার করে না।
— হউক লেগেছে

@ হুয়াকলজিং আপনি কেন মনে করেন যে ^ 1 এবং? অপ্রয়োজনীয়? আমি পুরোপুরি নিশ্চিত যে উভয়ের প্রয়োজনীয়তা যাতে প্রথম শব্দের সাথে কেবল মিল পাওয়া যায়, এবং যাতে ম্যাচটি শুরুতে অ্যাঙ্কর করা হয় (উদাহরণস্বরূপ, "mLinux" ম্যাচটি / Linux1 / দ্বারা মিলিত হতে পারে তবে / ^ লিনাক্স / দ্বারা নয়)।
— নিক বুল

19

ক্ষেত্রগুলি বরাদ্দ করার সময় awk শীর্ষস্থানীয় ফাঁকাগুলি উপেক্ষা করে। ডিফল্ট কমান্ড মুদ্রণ হয়।

awk '$1 ~ /^Linux1/'

আপনি কি চান।

বিস্তারিত ব্যাখ্যা:

  • "1 প্রথম" কলাম "দেখার জন্য অদ্ভুতকে বলে।
  • aw একটি নিয়মিত এক্সপ্রেশন ম্যাচ করার জন্য ডাবলাকে বলে / / / একটি নিয়মিত প্রকাশ।
  • আরআর মধ্যে স্ট্রিং লিনাক্স এবং বিশেষ অক্ষর ^
  • the আরআর শুরু থেকে মিলবে (লাইনের যে কোনও জায়গায় মিলে যাওয়ার বিপরীতে) তৈরি করে।

একসাথে দেখা: প্রথম কলামের শুরুতে আওক একটি নিয়মিত অভিব্যক্তি "লিনাক্স" এর সাথে মিলবে।


2

এই নির্দিষ্ট ক্ষেত্রে এটি কাজ করা উচিত।

awk '/^[[:blank:]]*Linux1/ {print}'

কিন্তু যদি স্থান Linux1 আগে এটি কোন ম্যাচ হবে
— Yael

@ আইয়েল আমি এটি সম্পাদন করতে একটি সম্পাদনা করেছি।
— হউক লেগেছে

এই সিনট্যাক্সটি কী করছে তা ভাবছেন এমন কাউকে: এটি বলছে "রেসেক্সটি সেই লাইনের সাথে মেলে তবেই ধনুর্বন্ধকের অভ্যন্তরের জিনিসগুলি করুন" saying
— ব্যবহারকারী541686
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.