কিভাবে লিনাক্সে awk কমান্ড ব্যবহার করবেন

ফাতমাওয়াতি আছমাদ জায়েনুরি/শাটারস্টক



লিনাক্সে, |_+_| একটি কমান্ড-লাইন টেক্সট ম্যানিপুলেশন ডায়নামো, সেইসাথে একটি শক্তিশালী স্ক্রিপ্টিং ভাষা। এখানে এর কিছু দুর্দান্ত বৈশিষ্ট্যের একটি ভূমিকা রয়েছে।

সম্পর্কিত: নতুনদের জন্য 10টি মৌলিক লিনাক্স কমান্ড





কিভাবে awk এর নাম পেয়েছেন

|_+_| 1977 সালে মূল সংস্করণটি লিখেছিলেন এমন তিনজনের আদ্যক্ষর ব্যবহার করে কমান্ডটির নামকরণ করা হয়েছিল: আলফ্রেড আহো , পিটার ওয়েইনবার্গার , এবং ব্রায়ান কার্নিঘান . এই তিনজন ছিলেন কিংবদন্তি AT&T বেল ল্যাবরেটরিজ ইউনিক্স প্যান্থিয়ন। তারপর থেকে অন্য অনেকের অবদানের সাথে, |_+_| বিকশিত হতে থাকে।

এটি একটি সম্পূর্ণ স্ক্রিপ্টিং ভাষা, সেইসাথে কমান্ড লাইনের জন্য একটি সম্পূর্ণ পাঠ্য ম্যানিপুলেশন টুলকিট। যদি এই নিবন্ধটি আপনার ক্ষুধা whets, আপনি করতে পারেন প্রতিটি বিস্তারিত চেক আউট সম্পর্কে |_+_| এবং এর কার্যকারিতা।



নিয়ম, নিদর্শন, এবং কর্ম

|_+_| নিদর্শন এবং কর্মের সমন্বয়ে গঠিত নিয়ম ধারণ করে এমন প্রোগ্রামগুলিতে কাজ করে। ক্রিয়াটি প্যাটার্নের সাথে মেলে এমন পাঠ্যের উপর কার্যকর করা হয়। প্যাটার্নগুলি কোঁকড়া ধনুর্বন্ধনীতে আবদ্ধ থাকে (|_+_|)। একসাথে, একটি প্যাটার্ন এবং একটি কর্ম একটি নিয়ম গঠন করে। সম্পূর্ণ |_+_| প্রোগ্রামটি একক উদ্ধৃতি (|_+_|) দিয়ে আবদ্ধ।

আসুন |_+_| এর সহজতম ধরনটি দেখে নেওয়া যাক কার্যক্রম. এটির কোনও প্যাটার্ন নেই, তাই এটি এতে দেওয়া পাঠ্যের প্রতিটি লাইনের সাথে মেলে। এর মানে প্রতিটি লাইনে কর্মটি কার্যকর করা হয়। আমরা হব থেকে আউটপুটে এটি ব্যবহার করুন |_+_| আদেশ

এখানে |_+_| থেকে স্ট্যান্ডার্ড আউটপুট রয়েছে:



|_ + _ |

বিজ্ঞাপন

সম্ভবত আমাদের সেই সমস্ত তথ্যের প্রয়োজন নেই, বরং, কেবল অ্যাকাউন্টগুলিতে নামগুলি দেখতে চাই৷ আমরা |_+_| থেকে আউটপুট পাইপ করতে পারি এর মধ্যে |_+_|, এবং তারপর বলুন |_+_| শুধুমাত্র প্রথম ক্ষেত্র প্রিন্ট করতে।

ডিফল্টরূপে, |_+_| একটি ক্ষেত্রকে হোয়াইটস্পেস দ্বারা বেষ্টিত অক্ষরের একটি স্ট্রিং, একটি লাইনের শুরু বা একটি লাইনের শেষ হিসাবে বিবেচনা করে। ক্ষেত্রগুলিকে একটি ডলার চিহ্ন (|_+_|) এবং একটি সংখ্যা দ্বারা চিহ্নিত করা হয়। তাই, |_+_| প্রথম ক্ষেত্রটি প্রতিনিধিত্ব করে, যা আমরা |_+_| এর সাথে ব্যবহার করব প্রথম ক্ষেত্র প্রিন্ট করার জন্য অ্যাকশন।

আমরা নিম্নলিখিত টাইপ করি:

|_ + _ |

|_+_| প্রথম ক্ষেত্রটি প্রিন্ট করে এবং বাকি লাইনটি বাতিল করে।

আমরা আমাদের পছন্দ হিসাবে অনেক ক্ষেত্র প্রিন্ট করতে পারেন. যদি আমরা একটি বিভাজক হিসাবে একটি কমা যোগ করি, |_+_| প্রতিটি ক্ষেত্রের মধ্যে একটি স্থান মুদ্রণ করে।

ব্যক্তির লগ ইন করার সময়টিও প্রিন্ট করতে আমরা নিম্নলিখিতটি টাইপ করি (ক্ষেত্র চার):

|_ + _ |

কিছু বিশেষ ক্ষেত্র শনাক্তকারী আছে। এগুলি পাঠ্যের সম্পূর্ণ লাইন এবং পাঠ্যের লাইনের শেষ ক্ষেত্রটি উপস্থাপন করে:

    কিভাবে লিনাক্সে awk কমান্ড ব্যবহার করবেন

    ফাতমাওয়াতি আছমাদ জায়েনুরি/শাটারস্টক



    লিনাক্সে, |_+_| একটি কমান্ড-লাইন টেক্সট ম্যানিপুলেশন ডায়নামো, সেইসাথে একটি শক্তিশালী স্ক্রিপ্টিং ভাষা। এখানে এর কিছু দুর্দান্ত বৈশিষ্ট্যের একটি ভূমিকা রয়েছে।

    সম্পর্কিত: নতুনদের জন্য 10টি মৌলিক লিনাক্স কমান্ড





    কিভাবে awk এর নাম পেয়েছেন

    |_+_| 1977 সালে মূল সংস্করণটি লিখেছিলেন এমন তিনজনের আদ্যক্ষর ব্যবহার করে কমান্ডটির নামকরণ করা হয়েছিল: আলফ্রেড আহো , পিটার ওয়েইনবার্গার , এবং ব্রায়ান কার্নিঘান . এই তিনজন ছিলেন কিংবদন্তি AT&T বেল ল্যাবরেটরিজ ইউনিক্স প্যান্থিয়ন। তারপর থেকে অন্য অনেকের অবদানের সাথে, |_+_| বিকশিত হতে থাকে।

    এটি একটি সম্পূর্ণ স্ক্রিপ্টিং ভাষা, সেইসাথে কমান্ড লাইনের জন্য একটি সম্পূর্ণ পাঠ্য ম্যানিপুলেশন টুলকিট। যদি এই নিবন্ধটি আপনার ক্ষুধা whets, আপনি করতে পারেন প্রতিটি বিস্তারিত চেক আউট সম্পর্কে |_+_| এবং এর কার্যকারিতা।



    নিয়ম, নিদর্শন, এবং কর্ম

    |_+_| নিদর্শন এবং কর্মের সমন্বয়ে গঠিত নিয়ম ধারণ করে এমন প্রোগ্রামগুলিতে কাজ করে। ক্রিয়াটি প্যাটার্নের সাথে মেলে এমন পাঠ্যের উপর কার্যকর করা হয়। প্যাটার্নগুলি কোঁকড়া ধনুর্বন্ধনীতে আবদ্ধ থাকে (|_+_|)। একসাথে, একটি প্যাটার্ন এবং একটি কর্ম একটি নিয়ম গঠন করে। সম্পূর্ণ |_+_| প্রোগ্রামটি একক উদ্ধৃতি (|_+_|) দিয়ে আবদ্ধ।

    আসুন |_+_| এর সহজতম ধরনটি দেখে নেওয়া যাক কার্যক্রম. এটির কোনও প্যাটার্ন নেই, তাই এটি এতে দেওয়া পাঠ্যের প্রতিটি লাইনের সাথে মেলে। এর মানে প্রতিটি লাইনে কর্মটি কার্যকর করা হয়। আমরা হব থেকে আউটপুটে এটি ব্যবহার করুন |_+_| আদেশ

    এখানে |_+_| থেকে স্ট্যান্ডার্ড আউটপুট রয়েছে:



    |_ + _ |

    বিজ্ঞাপন

    সম্ভবত আমাদের সেই সমস্ত তথ্যের প্রয়োজন নেই, বরং, কেবল অ্যাকাউন্টগুলিতে নামগুলি দেখতে চাই৷ আমরা |_+_| থেকে আউটপুট পাইপ করতে পারি এর মধ্যে |_+_|, এবং তারপর বলুন |_+_| শুধুমাত্র প্রথম ক্ষেত্র প্রিন্ট করতে।

    ডিফল্টরূপে, |_+_| একটি ক্ষেত্রকে হোয়াইটস্পেস দ্বারা বেষ্টিত অক্ষরের একটি স্ট্রিং, একটি লাইনের শুরু বা একটি লাইনের শেষ হিসাবে বিবেচনা করে। ক্ষেত্রগুলিকে একটি ডলার চিহ্ন (|_+_|) এবং একটি সংখ্যা দ্বারা চিহ্নিত করা হয়। তাই, |_+_| প্রথম ক্ষেত্রটি প্রতিনিধিত্ব করে, যা আমরা |_+_| এর সাথে ব্যবহার করব প্রথম ক্ষেত্র প্রিন্ট করার জন্য অ্যাকশন।

    আমরা নিম্নলিখিত টাইপ করি:

    |_ + _ |

    |_+_| প্রথম ক্ষেত্রটি প্রিন্ট করে এবং বাকি লাইনটি বাতিল করে।

    আমরা আমাদের পছন্দ হিসাবে অনেক ক্ষেত্র প্রিন্ট করতে পারেন. যদি আমরা একটি বিভাজক হিসাবে একটি কমা যোগ করি, |_+_| প্রতিটি ক্ষেত্রের মধ্যে একটি স্থান মুদ্রণ করে।

    ব্যক্তির লগ ইন করার সময়টিও প্রিন্ট করতে আমরা নিম্নলিখিতটি টাইপ করি (ক্ষেত্র চার):

    |_ + _ |

    কিছু বিশেষ ক্ষেত্র শনাক্তকারী আছে। এগুলি পাঠ্যের সম্পূর্ণ লাইন এবং পাঠ্যের লাইনের শেষ ক্ষেত্রটি উপস্থাপন করে:

      $0: পাঠ্যের সম্পূর্ণ লাইন প্রতিনিধিত্ব করে। $1: প্রথম ক্ষেত্রের প্রতিনিধিত্ব করে। $2: দ্বিতীয় ক্ষেত্রের প্রতিনিধিত্ব করে। $7: সপ্তম ক্ষেত্রের প্রতিনিধিত্ব করে। $45: 45 তম ক্ষেত্রের প্রতিনিধিত্ব করে। $NF: ক্ষেত্রের সংখ্যা বোঝায়, এবং শেষ ক্ষেত্রটি প্রতিনিধিত্ব করে।
    বিজ্ঞাপন

    আমরা একটি ছোট টেক্সট ফাইল আনতে নিম্নলিখিতটি টাইপ করব যাতে একটি ছোট উদ্ধৃতি রয়েছে ডেনিস রিচি :

    |_ + _ |

    আমরা চাই |_+_| উদ্ধৃতির প্রথম, দ্বিতীয় এবং শেষ ক্ষেত্রটি মুদ্রণ করতে। মনে রাখবেন যে যদিও এটি টার্মিনাল উইন্ডোতে মোড়ানো হয়েছে, এটি কেবলমাত্র পাঠ্যের একটি লাইন।

    আমরা নিম্নলিখিত কমান্ড টাইপ:

    |_ + _ |

    আমরা সেই সরলতা জানি না। পাঠ্যের লাইনের 18 তম ক্ষেত্র, এবং আমরা পাত্তা দিই না। আমরা যা জানি তা হল শেষ ক্ষেত্র, এবং আমরা |_+_| ব্যবহার করতে পারি এর মূল্য পেতে। পিরিয়ড শুধু মাঠের শরীরে আরেকটি চরিত্র হিসেবে বিবেচিত হয়।

    আউটপুট ক্ষেত্র বিভাজক যোগ করা হচ্ছে

    আপনিও বলতে পারেন |_+_| ডিফল্ট স্পেস অক্ষরের পরিবর্তে ক্ষেত্রগুলির মধ্যে একটি নির্দিষ্ট অক্ষর মুদ্রণ করতে। |_+_| থেকে ডিফল্ট আউটপুট কমান্ড সামান্য অদ্ভুত কারণ সময়টা ঠিক মাঝখানে প্ল্যান করা হয়। যাইহোক, আমরা নিম্নলিখিত টাইপ করতে পারি এবং |_+_| ব্যবহার করতে পারি আমরা যে ক্ষেত্রগুলি চাই তা বের করতে:

    |_ + _ | |_ + _ |

    আমরা |_+_| ব্যবহার করব (আউটপুট ফিল্ড বিভাজক) ভেরিয়েবল মাস, দিন এবং বছরের মধ্যে একটি বিভাজক স্থাপন করতে। লক্ষ্য করুন যে নীচে আমরা কমান্ডটিকে একক উদ্ধৃতিতে (|_+_|) দিয়ে আবদ্ধ করি, কোঁকড়া বন্ধনী (|_+_|) নয়:

    |_ + _ | |_ + _ |

    শুরু এবং শেষের নিয়ম

    একটি |_+_| কোনো টেক্সট প্রসেসিং শুরু হওয়ার আগে নিয়মটি একবার কার্যকর করা হয়। আসলে, এটি |_+_| এর আগে কার্যকর করা হয়েছে এমনকি কোনো লেখা পড়ে। একটি |_+_| সমস্ত প্রক্রিয়াকরণ সম্পন্ন হওয়ার পরে নিয়মটি কার্যকর করা হয়। আপনার একাধিক |_+_| থাকতে পারে এবং |_+_| নিয়ম, এবং তারা ক্রমে কার্যকর করবে।

    বিজ্ঞাপন

    আমাদের একটি |_+_| উদাহরণের জন্য নিয়ম, আমরা |_+_| থেকে পুরো উদ্ধৃতিটি প্রিন্ট করব আমরা উপরে একটি শিরোনাম দিয়ে আগে ব্যবহার করা ফাইল.

    এটি করতে, আমরা এই কমান্ডটি টাইপ করি:

    |_ + _ |

    নোট করুন |_+_| নিয়মের নিজস্ব কর্মের সেট রয়েছে কোঁকড়া ধনুর্বন্ধনীর নিজস্ব সেটের মধ্যে আবদ্ধ (|_+_|)।

    আমরা | মধ্যে |_+_| এটি করার জন্য, আমরা নিম্নলিখিত টাইপ করুন:

    |_ + _ |

    ইনপুট ক্ষেত্র বিভাজক

    আপনি যদি চান |_+_| ক্ষেত্রগুলিকে আলাদা করতে সাদা স্থান ব্যবহার করে না এমন পাঠ্যের সাথে কাজ করতে, আপনাকে এটি বলতে হবে যে পাঠ্যটি ক্ষেত্র বিভাজক হিসাবে কোন অক্ষর ব্যবহার করে। উদাহরণস্বরূপ, |_+_| ফাইলটি ক্ষেত্র আলাদা করতে একটি কোলন (|_+_|) ব্যবহার করে।

    আমরা সেই ফাইলটি এবং |_+_| ব্যবহার করব (বিভাজক স্ট্রিং) বলার বিকল্প |_+_| বিভাজক হিসাবে কোলন (|_+_|) ব্যবহার করতে। জানাতে আমরা নিম্নলিখিত টাইপ করি |_+_| ব্যবহারকারীর অ্যাকাউন্ট এবং হোম ফোল্ডারের নাম প্রিন্ট করতে:

    |_ + _ |

    আউটপুটে ব্যবহারকারীর অ্যাকাউন্টের নাম (বা অ্যাপ্লিকেশন বা ডেমনের নাম) এবং হোম ফোল্ডার (বা অ্যাপ্লিকেশনটির অবস্থান) রয়েছে।

    নিদর্শন যোগ করা হচ্ছে

    আমরা যদি নিয়মিত ব্যবহারকারীর অ্যাকাউন্টগুলিতে আগ্রহী হই তবে আমরা অন্যান্য সমস্ত এন্ট্রি ফিল্টার করার জন্য আমাদের মুদ্রণ ক্রিয়া সহ একটি প্যাটার্ন অন্তর্ভুক্ত করতে পারি। কারণ ব্যবহারকারীর প্রমানপত্র সংখ্যাগুলি 1,000 এর সমান বা তার বেশি, আমরা সেই তথ্যের উপর ভিত্তি করে আমাদের ফিল্টার করতে পারি।

    বিজ্ঞাপন

    তৃতীয় ক্ষেত্রের (|_+_|) মান 1,000 বা তার বেশি হলেই আমরা আমাদের প্রিন্ট অ্যাকশন চালানোর জন্য নিম্নলিখিতটি টাইপ করি:

    |_ + _ |

    প্যাটার্নটি অবিলম্বে যে ক্রিয়াটির সাথে এটি যুক্ত তার আগে হওয়া উচিত।

    আমরা |_+_| ব্যবহার করতে পারি আমাদের সামান্য প্রতিবেদনের জন্য একটি শিরোনাম প্রদান করার নিয়ম। আমরা শিরোনাম স্ট্রিং এ একটি নতুন লাইন অক্ষর সন্নিবেশ করার জন্য (|_+_|) স্বরলিপি ব্যবহার করে নিম্নলিখিতটি টাইপ করি:

    |_ + _ |

    নিদর্শন পূর্ণাঙ্গ নিয়মিত অভিব্যক্তি , এবং তারা |_+_| এর গৌরবগুলির মধ্যে একটি।

    ধরা যাক আমরা মাউন্ট করা ফাইল সিস্টেমের সার্বজনীন অনন্য শনাক্তকারী (UUIDs) দেখতে চাই। যদি আমরা |_+_| এর মাধ্যমে অনুসন্ধান করি স্ট্রিং UUID এর ঘটনার জন্য ফাইল, এটি আমাদের জন্য সেই তথ্য ফেরত দেওয়া উচিত।

    আমরা আমাদের কমান্ডে অনুসন্ধান প্যাটার্ন /UUID/ ব্যবহার করি:

    |_ + _ |

    বিজ্ঞাপন

    এটি UUID এর সমস্ত ঘটনা খুঁজে বের করে এবং সেই লাইনগুলিকে প্রিন্ট করে। আমরা আসলে |_+_| ছাড়া একই ফলাফল পেতাম অ্যাকশন কারণ ডিফল্ট অ্যাকশন টেক্সটের সম্পূর্ণ লাইন প্রিন্ট করে। স্পষ্টতার জন্য, যদিও, এটি প্রায়ই স্পষ্ট হওয়া দরকারী। আপনি যখন একটি স্ক্রিপ্ট বা আপনার ইতিহাস ফাইল দেখেন, তখন আপনি খুশি হবেন যে আপনি নিজের জন্য ক্লু রেখে গেছেন।

    প্রথম লাইনটি পাওয়া গেছে একটি মন্তব্য লাইন, এবং যদিও UUID স্ট্রিং এর মাঝখানে আছে, |_+_| এখনও এটি পাওয়া গেছে। আমরা রেগুলার এক্সপ্রেশনকে টুইক করে বলতে পারি |_+_| শুধুমাত্র UUID দিয়ে শুরু হওয়া লাইনগুলি প্রক্রিয়া করতে। এটি করার জন্য, আমরা নিম্নলিখিতটি টাইপ করি যার মধ্যে লাইন টোকেনের শুরু (|_+_|):

    |_ + _ |

    এটা তুলনামূলক ভাল! এখন, আমরা শুধুমাত্র প্রকৃত মাউন্ট নির্দেশাবলী দেখতে. আউটপুটটিকে আরও পরিমার্জিত করতে, আমরা নিম্নলিখিতটি টাইপ করি এবং প্রদর্শনটিকে প্রথম ক্ষেত্রে সীমাবদ্ধ করি:

    |_ + _ |

    যদি আমাদের এই মেশিনে একাধিক ফাইল সিস্টেম মাউন্ট করা থাকে তবে আমরা তাদের UUID-এর একটি ঝরঝরে টেবিল পেতে পারতাম।

    অন্তর্নির্মিত ফাংশন

    |_+_| আছে অনেক ফাংশন আপনি কল এবং আপনার নিজস্ব প্রোগ্রাম ব্যবহার করতে পারেন , কমান্ড লাইন এবং স্ক্রিপ্ট উভয় থেকে। আপনি যদি কিছু খনন করেন তবে আপনি এটি খুব ফলপ্রসূ দেখতে পাবেন।

    একটি ফাংশন কল করার সাধারণ কৌশলটি প্রদর্শন করতে, আমরা কিছু সংখ্যাসূচকগুলি দেখব। উদাহরণস্বরূপ, নিম্নলিখিতটি 625 এর বর্গমূল প্রিন্ট করে:

    |_ + _ |বিজ্ঞাপন

    এই কমান্ডটি 0 (শূন্য) এবং -1 (যা গাণিতিক ধ্রুবক, পাই) এর আর্কট্যাঞ্জেন্ট প্রিন্ট করে:

    |_ + _ |

    নিম্নলিখিত কমান্ডে, আমরা |_+_| এর ফলাফল পরিবর্তন করি আমরা এটি মুদ্রণ করার আগে ফাংশন:

    |_ + _ |

    ফাংশন পরামিতি হিসাবে অভিব্যক্তি গ্রহণ করতে পারে। উদাহরণস্বরূপ, এখানে 25 এর বর্গমূলের জন্য জিজ্ঞাসা করার একটি জটিল উপায় রয়েছে:

    |_ + _ |

    awk স্ক্রিপ্ট

    যদি আপনার কমান্ড লাইন জটিল হয়ে যায়, অথবা আপনি একটি রুটিন তৈরি করেন যা আপনি জানেন যে আপনি আবার ব্যবহার করতে চান, আপনি আপনার |_+_| একটি স্ক্রিপ্ট মধ্যে কমান্ড.

    আমাদের উদাহরণ স্ক্রিপ্টে, আমরা নিম্নলিখিত সব করতে যাচ্ছি:

    • স্ক্রিপ্ট চালানোর জন্য কোন এক্সিকিউটেবল ব্যবহার করতে হবে তা শেলকে বলুন।
    • প্রস্তুত করুন |_+_| |_+_| ব্যবহার করতে কোলন (|_+_|) দ্বারা পৃথক করা ক্ষেত্র সহ ইনপুট পাঠ্য পড়ার জন্য ফিল্ড বিভাজক ভেরিয়েবল।
    • |_+_| ব্যবহার করুন আউটপুট ক্ষেত্র বিভাজক বলতে |_+_| আউটপুটে ক্ষেত্র আলাদা করতে কোলন (|_+_|) ব্যবহার করতে।
    • 0 (শূন্য) একটি কাউন্টার সেট করুন।
    • পাঠ্যের প্রতিটি লাইনের দ্বিতীয় ক্ষেত্রটিকে একটি ফাঁকা মান সেট করুন (এটি সর্বদা একটি x, তাই আমাদের এটি দেখতে হবে না)।
    • পরিবর্তিত দ্বিতীয় ক্ষেত্রের সাথে লাইনটি মুদ্রণ করুন।
    • কাউন্টার বৃদ্ধি.
    • কাউন্টারের মান প্রিন্ট করুন।

    আমাদের স্ক্রিপ্ট নীচে দেখানো হয়েছে.

    একটি সম্পাদকে একটি awk স্ক্রিপ্টের উদাহরণ।

    |_+_| নিয়ম প্রস্তুতিমূলক পদক্ষেপগুলি বহন করে, যখন |_+_| নিয়ম কাউন্টার মান প্রদর্শন করে। মধ্যম নিয়ম (যার কোন নাম নেই, বা প্যাটার্ন নেই তাই এটি প্রতিটি লাইনের সাথে মেলে) দ্বিতীয় ক্ষেত্রটি সংশোধন করে, লাইনটি প্রিন্ট করে এবং কাউন্টারটিকে বৃদ্ধি করে।

    বিজ্ঞাপন

    স্ক্রিপ্টের প্রথম লাইনটি শেলকে বলে যে স্ক্রিপ্ট চালানোর জন্য কোন এক্সিকিউটেবল (|_+_|, আমাদের উদাহরণে) ব্যবহার করতে হবে। এটি |_+_|ও পাস করে (ফাইলের নাম) বিকল্পটি |_+_|, যা এটিকে জানায় যে এটি যে পাঠ্যটি প্রক্রিয়া করতে চলেছে সেটি একটি ফাইল থেকে আসবে। আমরা যখন এটি চালাব তখন আমরা স্ক্রিপ্টে ফাইলের নামটি পাস করব।

    আমরা নীচের স্ক্রিপ্টটি পাঠ্য হিসাবে অন্তর্ভুক্ত করেছি যাতে আপনি কাট এবং পেস্ট করতে পারেন:

    |_ + _ |

    এটিকে |_+_| নামে একটি ফাইলে সংরক্ষণ করুন। প্রতি স্ক্রিপ্ট এক্সিকিউটেবল করুন এবং , আমরা |_+_| ব্যবহার করে নিম্নলিখিত টাইপ করি:

    |_ + _ |

    এখন, আমরা এটি চালাব এবং |_+_| পাস করব স্ক্রিপ্টে ফাইল করুন। এই ফাইলটি |_+_| স্ক্রিপ্টের মধ্যে নিয়মগুলি ব্যবহার করে আমাদের জন্য প্রক্রিয়া করবে:

    |_ + _ |

    ফাইলটি প্রক্রিয়া করা হয় এবং প্রতিটি লাইন প্রদর্শিত হয়, যেমন নীচে দেখানো হয়েছে।

    বিজ্ঞাপন

    দ্বিতীয় ক্ষেত্রের x এন্ট্রিগুলি সরানো হয়েছে, কিন্তু মনে রাখবেন ক্ষেত্র বিভাজকগুলি এখনও উপস্থিত রয়েছে। লাইনগুলি গণনা করা হয় এবং আউটপুটের নীচে মোট দেওয়া হয়।

    awk awkward এর জন্য দাঁড়ায় না

    |_+_| বিশ্রী জন্য দাঁড়ায় না; এটা কমনীয়তা জন্য দাঁড়িয়েছে. এটি একটি প্রক্রিয়াকরণ ফিল্টার এবং একটি প্রতিবেদন লেখক হিসাবে বর্ণনা করা হয়েছে। আরও সঠিকভাবে, এটি এই দুটিই, বা, বরং, একটি টুল যা আপনি এই দুটি কাজের জন্য ব্যবহার করতে পারেন। মাত্র কয়েকটি লাইনে, |_+_| একটি ঐতিহ্যগত ভাষায় যা ব্যাপক কোডিং প্রয়োজন তা অর্জন করে।

    এই শক্তিটি নিয়মের সাধারণ ধারণা দ্বারা ব্যবহার করা হয় যাতে প্যাটার্ন রয়েছে, যা প্রক্রিয়া করার জন্য পাঠ্য নির্বাচন করে এবং প্রক্রিয়াকরণকে সংজ্ঞায়িত করে এমন ক্রিয়া।

    লিনাক্স কমান্ড
    নথি পত্র tar · pv · বিড়াল · tac · chmod · আঁকড়ে ধরে · পার্থক্য · sed · সঙ্গে · মানুষ · pushd · popd · fsck · টেস্টডিস্ক · seq · fd · প্যান্ডোক · সিডি · $PATH · awk · যোগদান · jq · ভাঁজ · ইউনিক · journalctl · লেজ · অবস্থা · ls · fstab · বের করে দিল · কম · chgrp · chown · rev · তাকান · স্ট্রিং · প্রকার · নাম পরিবর্তন করুন · জিপ · আনজিপ · মাউন্ট · উমাউন্ট · ইনস্টল · fdisk · mkfs · rm · rmdir · rsync · df · জিপিজি · আমরা · ন্যানো · mkdir · থেকে · ln · প্যাচ · রূপান্তর · rclone · টুকরা · এসআরএম
    প্রসেস উপনাম · পর্দা · শীর্ষ · চমৎকার · renice · অগ্রগতি · স্ট্রেস · পদ্ধতি · tmux · chsh · ইতিহাস · · ব্যাচ · বিনামূল্যে · যা · dmesg · usermod · পুনশ্চ · chroot · xargs · tty · গোলাপী · lsof · vmstat · সময় শেষ · প্রাচীর · হ্যাঁ · হত্যা · ঘুম · sudo · তার · সময় · groupadd · usermod · গ্রুপ · lshw · শাটডাউন · রিবুট · থামা · যন্ত্র বন্ধ · পাসওয়াড · lscpu · ক্রন্টাব · তারিখ · বিজি · fg
    নেটওয়ার্কিং netstat · পিং · ট্রেসরুট · আইপি · ss · কে · fail2ban · bmon · আপনি · আঙুল · nmap · এফটিপি · কার্ল · wget · WHO · আমি কে · ভিতরে · iptables · ssh-keygen · ufw

    সম্পর্কিত: বিকাশকারী এবং উত্সাহীদের জন্য সেরা লিনাক্স ল্যাপটপ

    পরবর্তী পড়ুন ডেভ ম্যাকেয়ের প্রোফাইল ফটো ডেভ ম্যাককে
    ডেভ ম্যাককে প্রথম কম্পিউটার ব্যবহার করেছিলেন যখন পাঞ্চড পেপার টেপ প্রচলিত ছিল এবং তখন থেকেই তিনি প্রোগ্রামিং করছেন। আইটি শিল্পে 30 বছরেরও বেশি সময় পরে, তিনি এখন একজন পূর্ণকালীন প্রযুক্তি সাংবাদিক। তার কর্মজীবনে, তিনি একজন ফ্রিল্যান্স প্রোগ্রামার, একটি আন্তর্জাতিক সফ্টওয়্যার ডেভেলপমেন্ট টিমের ম্যানেজার, একটি আইটি পরিষেবা প্রকল্প ব্যবস্থাপক এবং সম্প্রতি, একজন ডেটা সুরক্ষা অফিসার হিসাবে কাজ করেছেন। তার লেখা Howtogeek.com, cloudsavvyit.com, itenterpriser.com এবং opensource.com দ্বারা প্রকাশিত হয়েছে। ডেভ একজন লিনাক্স ধর্মপ্রচারক এবং ওপেন সোর্স অ্যাডভোকেট।
    সম্পূর্ণ বায়ো পড়ুন
    : পাঠ্যের সম্পূর্ণ লাইন প্রতিনিধিত্ব করে। : প্রথম ক্ষেত্রের প্রতিনিধিত্ব করে। : দ্বিতীয় ক্ষেত্রের প্রতিনিধিত্ব করে। : সপ্তম ক্ষেত্রের প্রতিনিধিত্ব করে। : 45 তম ক্ষেত্রের প্রতিনিধিত্ব করে। $NF: ক্ষেত্রের সংখ্যা বোঝায়, এবং শেষ ক্ষেত্রটি প্রতিনিধিত্ব করে।
বিজ্ঞাপন

আমরা একটি ছোট টেক্সট ফাইল আনতে নিম্নলিখিতটি টাইপ করব যাতে একটি ছোট উদ্ধৃতি রয়েছে ডেনিস রিচি :

|_ + _ |

আমরা চাই |_+_| উদ্ধৃতির প্রথম, দ্বিতীয় এবং শেষ ক্ষেত্রটি মুদ্রণ করতে। মনে রাখবেন যে যদিও এটি টার্মিনাল উইন্ডোতে মোড়ানো হয়েছে, এটি কেবলমাত্র পাঠ্যের একটি লাইন।

আমরা নিম্নলিখিত কমান্ড টাইপ:

|_ + _ |

আমরা সেই সরলতা জানি না। পাঠ্যের লাইনের 18 তম ক্ষেত্র, এবং আমরা পাত্তা দিই না। আমরা যা জানি তা হল শেষ ক্ষেত্র, এবং আমরা |_+_| ব্যবহার করতে পারি এর মূল্য পেতে। পিরিয়ড শুধু মাঠের শরীরে আরেকটি চরিত্র হিসেবে বিবেচিত হয়।

আউটপুট ক্ষেত্র বিভাজক যোগ করা হচ্ছে

আপনিও বলতে পারেন |_+_| ডিফল্ট স্পেস অক্ষরের পরিবর্তে ক্ষেত্রগুলির মধ্যে একটি নির্দিষ্ট অক্ষর মুদ্রণ করতে। |_+_| থেকে ডিফল্ট আউটপুট কমান্ড সামান্য অদ্ভুত কারণ সময়টা ঠিক মাঝখানে প্ল্যান করা হয়। যাইহোক, আমরা নিম্নলিখিত টাইপ করতে পারি এবং |_+_| ব্যবহার করতে পারি আমরা যে ক্ষেত্রগুলি চাই তা বের করতে:

|_ + _ | |_ + _ |

আমরা |_+_| ব্যবহার করব (আউটপুট ফিল্ড বিভাজক) ভেরিয়েবল মাস, দিন এবং বছরের মধ্যে একটি বিভাজক স্থাপন করতে। লক্ষ্য করুন যে নীচে আমরা কমান্ডটিকে একক উদ্ধৃতিতে (|_+_|) দিয়ে আবদ্ধ করি, কোঁকড়া বন্ধনী (|_+_|) নয়:

|_ + _ | |_ + _ |

শুরু এবং শেষের নিয়ম

একটি |_+_| কোনো টেক্সট প্রসেসিং শুরু হওয়ার আগে নিয়মটি একবার কার্যকর করা হয়। আসলে, এটি |_+_| এর আগে কার্যকর করা হয়েছে এমনকি কোনো লেখা পড়ে। একটি |_+_| সমস্ত প্রক্রিয়াকরণ সম্পন্ন হওয়ার পরে নিয়মটি কার্যকর করা হয়। আপনার একাধিক |_+_| থাকতে পারে এবং |_+_| নিয়ম, এবং তারা ক্রমে কার্যকর করবে।

বিজ্ঞাপন

আমাদের একটি |_+_| উদাহরণের জন্য নিয়ম, আমরা |_+_| থেকে পুরো উদ্ধৃতিটি প্রিন্ট করব আমরা উপরে একটি শিরোনাম দিয়ে আগে ব্যবহার করা ফাইল.

এটি করতে, আমরা এই কমান্ডটি টাইপ করি:

|_ + _ |

নোট করুন |_+_| নিয়মের নিজস্ব কর্মের সেট রয়েছে কোঁকড়া ধনুর্বন্ধনীর নিজস্ব সেটের মধ্যে আবদ্ধ (|_+_|)।

আমরা | মধ্যে |_+_| এটি করার জন্য, আমরা নিম্নলিখিত টাইপ করুন:

|_ + _ |

ইনপুট ক্ষেত্র বিভাজক

আপনি যদি চান |_+_| ক্ষেত্রগুলিকে আলাদা করতে সাদা স্থান ব্যবহার করে না এমন পাঠ্যের সাথে কাজ করতে, আপনাকে এটি বলতে হবে যে পাঠ্যটি ক্ষেত্র বিভাজক হিসাবে কোন অক্ষর ব্যবহার করে। উদাহরণস্বরূপ, |_+_| ফাইলটি ক্ষেত্র আলাদা করতে একটি কোলন (|_+_|) ব্যবহার করে।

আমরা সেই ফাইলটি এবং |_+_| ব্যবহার করব (বিভাজক স্ট্রিং) বলার বিকল্প |_+_| বিভাজক হিসাবে কোলন (|_+_|) ব্যবহার করতে। জানাতে আমরা নিম্নলিখিত টাইপ করি |_+_| ব্যবহারকারীর অ্যাকাউন্ট এবং হোম ফোল্ডারের নাম প্রিন্ট করতে:

|_ + _ |

আউটপুটে ব্যবহারকারীর অ্যাকাউন্টের নাম (বা অ্যাপ্লিকেশন বা ডেমনের নাম) এবং হোম ফোল্ডার (বা অ্যাপ্লিকেশনটির অবস্থান) রয়েছে।

নিদর্শন যোগ করা হচ্ছে

আমরা যদি নিয়মিত ব্যবহারকারীর অ্যাকাউন্টগুলিতে আগ্রহী হই তবে আমরা অন্যান্য সমস্ত এন্ট্রি ফিল্টার করার জন্য আমাদের মুদ্রণ ক্রিয়া সহ একটি প্যাটার্ন অন্তর্ভুক্ত করতে পারি। কারণ ব্যবহারকারীর প্রমানপত্র সংখ্যাগুলি 1,000 এর সমান বা তার বেশি, আমরা সেই তথ্যের উপর ভিত্তি করে আমাদের ফিল্টার করতে পারি।

বিজ্ঞাপন

তৃতীয় ক্ষেত্রের (|_+_|) মান 1,000 বা তার বেশি হলেই আমরা আমাদের প্রিন্ট অ্যাকশন চালানোর জন্য নিম্নলিখিতটি টাইপ করি:

|_ + _ |

প্যাটার্নটি অবিলম্বে যে ক্রিয়াটির সাথে এটি যুক্ত তার আগে হওয়া উচিত।

আমরা |_+_| ব্যবহার করতে পারি আমাদের সামান্য প্রতিবেদনের জন্য একটি শিরোনাম প্রদান করার নিয়ম। আমরা শিরোনাম স্ট্রিং এ একটি নতুন লাইন অক্ষর সন্নিবেশ করার জন্য (|_+_|) স্বরলিপি ব্যবহার করে নিম্নলিখিতটি টাইপ করি:

|_ + _ |

নিদর্শন পূর্ণাঙ্গ নিয়মিত অভিব্যক্তি , এবং তারা |_+_| এর গৌরবগুলির মধ্যে একটি।

ধরা যাক আমরা মাউন্ট করা ফাইল সিস্টেমের সার্বজনীন অনন্য শনাক্তকারী (UUIDs) দেখতে চাই। যদি আমরা |_+_| এর মাধ্যমে অনুসন্ধান করি স্ট্রিং UUID এর ঘটনার জন্য ফাইল, এটি আমাদের জন্য সেই তথ্য ফেরত দেওয়া উচিত।

আমরা আমাদের কমান্ডে অনুসন্ধান প্যাটার্ন /UUID/ ব্যবহার করি:

|_ + _ |

বিজ্ঞাপন

এটি UUID এর সমস্ত ঘটনা খুঁজে বের করে এবং সেই লাইনগুলিকে প্রিন্ট করে। আমরা আসলে |_+_| ছাড়া একই ফলাফল পেতাম অ্যাকশন কারণ ডিফল্ট অ্যাকশন টেক্সটের সম্পূর্ণ লাইন প্রিন্ট করে। স্পষ্টতার জন্য, যদিও, এটি প্রায়ই স্পষ্ট হওয়া দরকারী। আপনি যখন একটি স্ক্রিপ্ট বা আপনার ইতিহাস ফাইল দেখেন, তখন আপনি খুশি হবেন যে আপনি নিজের জন্য ক্লু রেখে গেছেন।

প্রথম লাইনটি পাওয়া গেছে একটি মন্তব্য লাইন, এবং যদিও UUID স্ট্রিং এর মাঝখানে আছে, |_+_| এখনও এটি পাওয়া গেছে। আমরা রেগুলার এক্সপ্রেশনকে টুইক করে বলতে পারি |_+_| শুধুমাত্র UUID দিয়ে শুরু হওয়া লাইনগুলি প্রক্রিয়া করতে। এটি করার জন্য, আমরা নিম্নলিখিতটি টাইপ করি যার মধ্যে লাইন টোকেনের শুরু (|_+_|):

|_ + _ |

এটা তুলনামূলক ভাল! এখন, আমরা শুধুমাত্র প্রকৃত মাউন্ট নির্দেশাবলী দেখতে. আউটপুটটিকে আরও পরিমার্জিত করতে, আমরা নিম্নলিখিতটি টাইপ করি এবং প্রদর্শনটিকে প্রথম ক্ষেত্রে সীমাবদ্ধ করি:

|_ + _ |

যদি আমাদের এই মেশিনে একাধিক ফাইল সিস্টেম মাউন্ট করা থাকে তবে আমরা তাদের UUID-এর একটি ঝরঝরে টেবিল পেতে পারতাম।

অন্তর্নির্মিত ফাংশন

|_+_| আছে অনেক ফাংশন আপনি কল এবং আপনার নিজস্ব প্রোগ্রাম ব্যবহার করতে পারেন , কমান্ড লাইন এবং স্ক্রিপ্ট উভয় থেকে। আপনি যদি কিছু খনন করেন তবে আপনি এটি খুব ফলপ্রসূ দেখতে পাবেন।

একটি ফাংশন কল করার সাধারণ কৌশলটি প্রদর্শন করতে, আমরা কিছু সংখ্যাসূচকগুলি দেখব। উদাহরণস্বরূপ, নিম্নলিখিতটি 625 এর বর্গমূল প্রিন্ট করে:

|_ + _ |বিজ্ঞাপন

এই কমান্ডটি 0 (শূন্য) এবং -1 (যা গাণিতিক ধ্রুবক, পাই) এর আর্কট্যাঞ্জেন্ট প্রিন্ট করে:

|_ + _ |

নিম্নলিখিত কমান্ডে, আমরা |_+_| এর ফলাফল পরিবর্তন করি আমরা এটি মুদ্রণ করার আগে ফাংশন:

|_ + _ |

ফাংশন পরামিতি হিসাবে অভিব্যক্তি গ্রহণ করতে পারে। উদাহরণস্বরূপ, এখানে 25 এর বর্গমূলের জন্য জিজ্ঞাসা করার একটি জটিল উপায় রয়েছে:

|_ + _ |

awk স্ক্রিপ্ট

যদি আপনার কমান্ড লাইন জটিল হয়ে যায়, অথবা আপনি একটি রুটিন তৈরি করেন যা আপনি জানেন যে আপনি আবার ব্যবহার করতে চান, আপনি আপনার |_+_| একটি স্ক্রিপ্ট মধ্যে কমান্ড.

আমাদের উদাহরণ স্ক্রিপ্টে, আমরা নিম্নলিখিত সব করতে যাচ্ছি:

  • স্ক্রিপ্ট চালানোর জন্য কোন এক্সিকিউটেবল ব্যবহার করতে হবে তা শেলকে বলুন।
  • প্রস্তুত করুন |_+_| |_+_| ব্যবহার করতে কোলন (|_+_|) দ্বারা পৃথক করা ক্ষেত্র সহ ইনপুট পাঠ্য পড়ার জন্য ফিল্ড বিভাজক ভেরিয়েবল।
  • |_+_| ব্যবহার করুন আউটপুট ক্ষেত্র বিভাজক বলতে |_+_| আউটপুটে ক্ষেত্র আলাদা করতে কোলন (|_+_|) ব্যবহার করতে।
  • 0 (শূন্য) একটি কাউন্টার সেট করুন।
  • পাঠ্যের প্রতিটি লাইনের দ্বিতীয় ক্ষেত্রটিকে একটি ফাঁকা মান সেট করুন (এটি সর্বদা একটি x, তাই আমাদের এটি দেখতে হবে না)।
  • পরিবর্তিত দ্বিতীয় ক্ষেত্রের সাথে লাইনটি মুদ্রণ করুন।
  • কাউন্টার বৃদ্ধি.
  • কাউন্টারের মান প্রিন্ট করুন।

আমাদের স্ক্রিপ্ট নীচে দেখানো হয়েছে.

একটি সম্পাদকে একটি awk স্ক্রিপ্টের উদাহরণ।

|_+_| নিয়ম প্রস্তুতিমূলক পদক্ষেপগুলি বহন করে, যখন |_+_| নিয়ম কাউন্টার মান প্রদর্শন করে। মধ্যম নিয়ম (যার কোন নাম নেই, বা প্যাটার্ন নেই তাই এটি প্রতিটি লাইনের সাথে মেলে) দ্বিতীয় ক্ষেত্রটি সংশোধন করে, লাইনটি প্রিন্ট করে এবং কাউন্টারটিকে বৃদ্ধি করে।

বিজ্ঞাপন

স্ক্রিপ্টের প্রথম লাইনটি শেলকে বলে যে স্ক্রিপ্ট চালানোর জন্য কোন এক্সিকিউটেবল (|_+_|, আমাদের উদাহরণে) ব্যবহার করতে হবে। এটি |_+_|ও পাস করে (ফাইলের নাম) বিকল্পটি |_+_|, যা এটিকে জানায় যে এটি যে পাঠ্যটি প্রক্রিয়া করতে চলেছে সেটি একটি ফাইল থেকে আসবে। আমরা যখন এটি চালাব তখন আমরা স্ক্রিপ্টে ফাইলের নামটি পাস করব।

আমরা নীচের স্ক্রিপ্টটি পাঠ্য হিসাবে অন্তর্ভুক্ত করেছি যাতে আপনি কাট এবং পেস্ট করতে পারেন:

|_ + _ |

এটিকে |_+_| নামে একটি ফাইলে সংরক্ষণ করুন। প্রতি স্ক্রিপ্ট এক্সিকিউটেবল করুন এবং , আমরা |_+_| ব্যবহার করে নিম্নলিখিত টাইপ করি:

|_ + _ |

এখন, আমরা এটি চালাব এবং |_+_| পাস করব স্ক্রিপ্টে ফাইল করুন। এই ফাইলটি |_+_| স্ক্রিপ্টের মধ্যে নিয়মগুলি ব্যবহার করে আমাদের জন্য প্রক্রিয়া করবে:

|_ + _ |

ফাইলটি প্রক্রিয়া করা হয় এবং প্রতিটি লাইন প্রদর্শিত হয়, যেমন নীচে দেখানো হয়েছে।

বিজ্ঞাপন

দ্বিতীয় ক্ষেত্রের x এন্ট্রিগুলি সরানো হয়েছে, কিন্তু মনে রাখবেন ক্ষেত্র বিভাজকগুলি এখনও উপস্থিত রয়েছে। লাইনগুলি গণনা করা হয় এবং আউটপুটের নীচে মোট দেওয়া হয়।

awk awkward এর জন্য দাঁড়ায় না

|_+_| বিশ্রী জন্য দাঁড়ায় না; এটা কমনীয়তা জন্য দাঁড়িয়েছে. এটি একটি প্রক্রিয়াকরণ ফিল্টার এবং একটি প্রতিবেদন লেখক হিসাবে বর্ণনা করা হয়েছে। আরও সঠিকভাবে, এটি এই দুটিই, বা, বরং, একটি টুল যা আপনি এই দুটি কাজের জন্য ব্যবহার করতে পারেন। মাত্র কয়েকটি লাইনে, |_+_| একটি ঐতিহ্যগত ভাষায় যা ব্যাপক কোডিং প্রয়োজন তা অর্জন করে।

এই শক্তিটি নিয়মের সাধারণ ধারণা দ্বারা ব্যবহার করা হয় যাতে প্যাটার্ন রয়েছে, যা প্রক্রিয়া করার জন্য পাঠ্য নির্বাচন করে এবং প্রক্রিয়াকরণকে সংজ্ঞায়িত করে এমন ক্রিয়া।

লিনাক্স কমান্ড
নথি পত্র tar · pv · বিড়াল · tac · chmod · আঁকড়ে ধরে · পার্থক্য · sed · সঙ্গে · মানুষ · pushd · popd · fsck · টেস্টডিস্ক · seq · fd · প্যান্ডোক · সিডি · $PATH · awk · যোগদান · jq · ভাঁজ · ইউনিক · journalctl · লেজ · অবস্থা · ls · fstab · বের করে দিল · কম · chgrp · chown · rev · তাকান · স্ট্রিং · প্রকার · নাম পরিবর্তন করুন · জিপ · আনজিপ · মাউন্ট · উমাউন্ট · ইনস্টল · fdisk · mkfs · rm · rmdir · rsync · df · জিপিজি · আমরা · ন্যানো · mkdir · থেকে · ln · প্যাচ · রূপান্তর · rclone · টুকরা · এসআরএম
প্রসেস উপনাম · পর্দা · শীর্ষ · চমৎকার · renice · অগ্রগতি · স্ট্রেস · পদ্ধতি · tmux · chsh · ইতিহাস · · ব্যাচ · বিনামূল্যে · যা · dmesg · usermod · পুনশ্চ · chroot · xargs · tty · গোলাপী · lsof · vmstat · সময় শেষ · প্রাচীর · হ্যাঁ · হত্যা · ঘুম · sudo · তার · সময় · groupadd · usermod · গ্রুপ · lshw · শাটডাউন · রিবুট · থামা · যন্ত্র বন্ধ · পাসওয়াড · lscpu · ক্রন্টাব · তারিখ · বিজি · fg
নেটওয়ার্কিং netstat · পিং · ট্রেসরুট · আইপি · ss · কে · fail2ban · bmon · আপনি · আঙুল · nmap · এফটিপি · কার্ল · wget · WHO · আমি কে · ভিতরে · iptables · ssh-keygen · ufw

সম্পর্কিত: বিকাশকারী এবং উত্সাহীদের জন্য সেরা লিনাক্স ল্যাপটপ

পরবর্তী পড়ুন ডেভ ম্যাকেয়ের প্রোফাইল ফটো ডেভ ম্যাককে
ডেভ ম্যাককে প্রথম কম্পিউটার ব্যবহার করেছিলেন যখন পাঞ্চড পেপার টেপ প্রচলিত ছিল এবং তখন থেকেই তিনি প্রোগ্রামিং করছেন। আইটি শিল্পে 30 বছরেরও বেশি সময় পরে, তিনি এখন একজন পূর্ণকালীন প্রযুক্তি সাংবাদিক। তার কর্মজীবনে, তিনি একজন ফ্রিল্যান্স প্রোগ্রামার, একটি আন্তর্জাতিক সফ্টওয়্যার ডেভেলপমেন্ট টিমের ম্যানেজার, একটি আইটি পরিষেবা প্রকল্প ব্যবস্থাপক এবং সম্প্রতি, একজন ডেটা সুরক্ষা অফিসার হিসাবে কাজ করেছেন। তার লেখা Howtogeek.com, cloudsavvyit.com, itenterpriser.com এবং opensource.com দ্বারা প্রকাশিত হয়েছে। ডেভ একজন লিনাক্স ধর্মপ্রচারক এবং ওপেন সোর্স অ্যাডভোকেট।
সম্পূর্ণ বায়ো পড়ুন

আকর্ষণীয় নিবন্ধ

জনপ্রিয় পোস্ট

আপনার আইএসপি নেটফ্লিক্সকে থ্রোটলিং করছে কিনা তা কীভাবে দেখবেন

আপনার আইএসপি নেটফ্লিক্সকে থ্রোটলিং করছে কিনা তা কীভাবে দেখবেন

গুগল প্লে থেকে অসঙ্গতিপূর্ণ অ্যান্ড্রয়েড অ্যাপস কীভাবে ইনস্টল করবেন

গুগল প্লে থেকে অসঙ্গতিপূর্ণ অ্যান্ড্রয়েড অ্যাপস কীভাবে ইনস্টল করবেন

গুগল ক্যালেন্ডারে অনুস্মারক বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন

গুগল ক্যালেন্ডারে অনুস্মারক বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন

কিভাবে আপনার LastPass অ্যাকাউন্ট মুছে ফেলবেন

কিভাবে আপনার LastPass অ্যাকাউন্ট মুছে ফেলবেন

কিভাবে উইন্ডোজ 10 এ ডেস্কটপ শর্টকাট তৈরি করবেন সহজ উপায়

কিভাবে উইন্ডোজ 10 এ ডেস্কটপ শর্টকাট তৈরি করবেন সহজ উপায়

আপনি হারমনি হাবের সাথে বাড়িতে গেলে কীভাবে আপনার টিভি স্বয়ংক্রিয়ভাবে চালু করবেন

আপনি হারমনি হাবের সাথে বাড়িতে গেলে কীভাবে আপনার টিভি স্বয়ংক্রিয়ভাবে চালু করবেন

গুগল ম্যাপের সাহায্যে আপনার কাছাকাছি সর্বজনীন বিশ্রামাগারগুলি কীভাবে সন্ধান করবেন

গুগল ম্যাপের সাহায্যে আপনার কাছাকাছি সর্বজনীন বিশ্রামাগারগুলি কীভাবে সন্ধান করবেন

19 আগস্টের জন্য গিক কমিক - এটি কি সত্যিকারের টুইটার পাখি?

19 আগস্টের জন্য গিক কমিক - এটি কি সত্যিকারের টুইটার পাখি?

আপনার iOS হোম স্ক্রীন থেকে অ্যাপলের অন্তর্নির্মিত অ্যাপগুলি কীভাবে সরান

আপনার iOS হোম স্ক্রীন থেকে অ্যাপলের অন্তর্নির্মিত অ্যাপগুলি কীভাবে সরান

Google Meet Now 25 পর্যন্ত সহ-হোস্টকে সমর্থন করে (কিছু কারণে)

Google Meet Now 25 পর্যন্ত সহ-হোস্টকে সমর্থন করে (কিছু কারণে)