আমি এই প্রশ্নের সমাধান বের করার চেষ্টা করছিলাম । আমি awkসমাধানের জন্য ব্যবহার করতে চেয়েছিলাম ।
আমার ইনপুট ফাইলটি নীচের মতো।
-bash-3.2$ cat file
ramesh
ramesh_venkat
ramesh3_venkat3
ramesh4
ramesh5
venkat
venkat3
venkat4
আমি নীচের মত awkদ্বিতীয় মান বের করতে কমান্ড ব্যবহার করেছি _।
awk -F "_" '{print $2}' file
তবে উপরের কমান্ডটি সঠিক মানগুলি মুদ্রণ করলেও আমি আমার আউটপুটে ফাঁকা লাইন পাচ্ছি। আমার 2 টি প্রশ্ন আছে।
প্রশ্ন 1
আমি আউটপুটে ফাঁকা লাইনগুলি কীভাবে সরিয়ে ফেলব যাতে আমি কেবল venkatএবং venkat3আউটপুটে পাই ?
যদি আমি ব্যবহার printfপরিবর্তে printআমার মধ্যে awk, আমি পেতে venkatvenkat3আউটপুট হয় যা আমি অর্জন করতে চেয়েছিলেন না। আমি যেমন আউটপুট চাই,
venkat
venkat3
প্রশ্ন 2
এই মানগুলিকে একটি সহযোগী অ্যারে বা অন্য কিছু হিসাবে ব্যবহার করে, মানগুলি $1কলামে আসলে ঘটে যায় তা আমি কীভাবে খুঁজে পাব?
আমি কিছু অর্জন করতে চেয়েছিলাম,
awk -F "_" '$2==1{print $1}' file
সম্পাদনা
awkস্টিফেনের সমাধান আমি খেয়াল করিনি । আমি উল্লেখ করেছি যে এটি কি একই কাজ করছে?
awkএকই কাজ করছে না। আপনার দৃষ্টিভঙ্গি ধরে নিয়েছে যে কোনও শব্দটি কেবল আলাদা করে থাকলে কেবল অন্যটিতে থাকতে পারে_। ওপি'র উদাহরণের ক্ষেত্রে এটি সত্য হলেও, পোস্ট করা সমস্ত উত্তরইdoglionকেবল এবং না-এর মতো মামলাগুলিতেও ডিল করেdog_lion।