NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
BN

লিনাক্স কমান্ড এবং শেল দক্ষতা

awk: যখন কলামগুলি প্রোগ্রাম হয়ে যায়

কলামগুলি যখন কাজের একক হয়ে যায় তখন আপনি যেটির জন্য পৌঁছান তা হল awk: nginx অ্যাক্সেস লগ, /etc/passwd, df আউটপুট, ক্ষেত্রগুলিতে বসবাসকারী যেকোনো কিছু। এটি একটি সম্পূর্ণ ভাষা (ভেরিয়েবল, অ্যারে, গাণিতিক, প্যাটার্ন-অ্যাকশন নিয়ম) একটি ওয়ান-লাইনারের পোশাক পরা, যা লগ ফরেনসিকের জন্য সঠিক ছদ্মবেশ। সৎ সীমানা: awk আরামদায়ক যা কিছু করে তা হল ওয়ান-লাইনার, এবং যেকোন কিছু ব্লকের পৃষ্ঠার প্রয়োজন একটি পাইথন স্ক্রিপ্ট যা এখনও স্বীকার করেনি।

মূল বিষয়সমূহ

  • ক্ষেত্র বিভাজন হল মূল কৌশল: awk -F: '$3 >= 1000 {print $1}' /etc/passwd প্রকৃত ব্যবহারকারীদের তালিকা করে, এবং -F'[,|]' বহু-অক্ষরের বিভাজন পরিচালনা করে যখন কাটা ইতিমধ্যেই ছেড়ে দেওয়া হয়।
  • অ্যাসোসিয়েটিভ অ্যারেগুলির সাথে গণনা করুন: awk '{count[$1]++} END {এর জন্য (c in count) প্রিন্ট কাউন্ট[c], c}' /var/log/secure যেকোনো লগকে এক লাইনে ফ্রিকোয়েন্সি টেবিলে পরিণত করে।
  • NR এবং NF ফাইলের প্রশ্নের উত্তর দেয়: 'NR==1' হল হেডার লাইন, '{print NF}' সারি প্রতি কলাম গণনা করে, এবং অন্য ফাইলের সংরক্ষিত মানের সাথে NR তুলনা করলে ডুপ্লিকেট এবং ফাঁক পাওয়া যায়।
  • ম্যাচ প্লাস এক্সট্র্যাক্ট হল দৈনিক রুটি: awk '/ 500 / {print $7, $9}' access.log ইউআরএল সহ ত্রুটি পৃষ্ঠাগুলি টেনে আনে এবং OFS আপনাকে লাইনটি পুনরায় লেখা ছাড়াই একটি একক ক্ষেত্র সম্পাদনা করার পরে $0 পুনরায় মুদ্রণ করতে দেয়৷
  • BEGIN এবং END ব্লকগুলি হল যেখানে সামগ্রিক কাজ থাকে: BEGIN বিভাজক সেট করে, মাঝারি নিয়ম প্রতি লাইনে চলে, END মোট মুদ্রণ করে; তিনটি ব্লক সূক্ষ্ম পড়া, পাঁচটি একটি ছদ্মবেশ পরা একটি স্ক্রিপ্ট।
  • উদ্ধৃতি হল শেল ওয়ান-লাইনারের আসল শত্রু: প্রোগ্রামটিকে একক-উদ্ধৃতি, এর ভিতরে ডাবল-কোট লিটারাল, এবং মনে রাখবেন যে ডাবল-উদ্ধৃত শেল স্ট্রিং-এর ভিতরে $7 কখনই awk পৌঁছায় না।
  • সাংখ্যিক কাজ LC_ALL=C পায়: সংখ্যায় লোকেল কমা এবং বিজোড় কোলেশনগুলি তুলনা ও সাজানোর দিকে ঘুরিয়ে দেয়, এবং লোকেলে পিন করা একটি লাইন যা একটি বিকেল বাঁচায়।
  • সিলিং জানুন: CSV এর ভিতরে উদ্ধৃত কমা, নেস্টেড JSON, বা স্টেটফুল মাল্টিলাইন ফর্ম্যাটগুলি পাইথনে যায়; awk একটি স্ক্যাল্পেল এবং এক থাকে।

মাঠের নোট

একটি awk ওয়ান-লাইনার যা লোকেল কমা সহ একটি লগ থেকে ডলারের কলামগুলিকে সংকলন করে এমন সংখ্যা তৈরি করেছিল যতক্ষণ না অ্যাকাউন্টিং রিপোর্ট খোলা পর্যন্ত কেউ প্রশ্ন করেনি। LC_ALL=C সেই সপ্তাহে আমাদের উপনাম লাইব্রেরিতে চলে যায় এবং থেকে যায়।

সচরাচর জিজ্ঞাসা

কলাম কাজের জন্য awk বা কাটা?

একটি নির্দিষ্ট বিভাজক এবং একটি প্লেইন কলাম তালিকা জন্য কাটা; awk মুহূর্ত অবস্থা, regex, গাণিতিক, বা সমষ্টি দেখায়, যে বিন্দুতে কাট তার গভীরতার বাইরে।

আমি কিভাবে একটি কলামের যোগফল বা গড় করব?

END এ মোট: awk '{s += $5} END {print s, s/NR}' লাইন জুড়ে পাঁচটি ক্ষেত্র যোগ করে এবং গড় করে; একটি লোকেলে সংখ্যার মধ্যে কমা দিলে প্রথমে হাজার হাজার বিভাজককে ফালান।

কেন আমার awk ওয়ান-লাইনার macOS এ ভিন্নভাবে আচরণ করে?

macOS -i inplace বা gensub-এর মতো GNU এক্সটেনশন ছাড়া একটি POSIX awk পাঠায়; লিনাক্সে চালিত স্ক্রিপ্টগুলি সেখানে নিঃশব্দে ব্যর্থ হতে পারে, তাই ওয়ান-লাইনার POSIX-আকৃতির রাখুন বা আপনার সাথে গাওক বহন করুন।

awk JSON পার্স করতে পারে?

অর্থপূর্ণ নয়: JSON-এর কোনো কলাম কাঠামো নেই awk বোঝে এবং নেস্টেড অবজেক্টে রেজেক্স হ্যাক ব্রেক করে। jq ব্যবহার করুন, যা JSON-এর জন্য awk-এর আকৃতি, অথবা Python-এর json মডিউল যখন কাজ বাড়বে।

লিনাক্স কমান্ড এবং শেল দক্ষতা নিয়ে Kinetikatech কীভাবে সাহায্য করে

সত্যি বলতে, বেশিরভাগ দল আমাদের কাছে আসে নিজেরা চেষ্টা করার পর: কমান্ড এবং স্ক্রিপ্টিং অভ্যাস যা নির্ধারণ করে যে একজন প্রশাসক একটি সার্ভার পরিচালনা করে বা এটির সাথে লড়াই করে: অনুসন্ধান, রূপান্তর, স্থানান্তর, এবং টেক্সট এবং প্রক্রিয়াগুলিকে তত্ত্বাবধান করে যা প্রতিটি বেস ইনস্টলে থাকে। আমাদের Linux সার্ভার নিরাপত্তা and সার্ভার ব্যবস্থাপনা সেবা তাই আছে, যাতে আপনাকে লিনাক্স কমান্ড এবং শেল দক্ষতা শিখতে না হয় কষ্ট করে। সেটআপ, নজরদারি আর ভোর তিনটার হঠাৎ আসা ব্যাপার — সব আমাদের ঘাড়ে।

একজন প্রকৌশলীর সঙ্গে কথা বলুন

সার্ভার সমস্যা? হ্যাক করা সাইট? ধীর ওয়েবসাইট?

জরুরি সমস্যার উত্তর ৩০ মিনিটের মধ্যে — দিনে ২৪ ঘণ্টা, সপ্তাহে ৭ দিন।

জরুরি সহায়তা অনুরোধ করুন support@kinetikatech.com