প্রথম ক্ষেত্রটি যদি লিনাক্স 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.