কীভাবে একটি সামগ্রীর অ্যারেতে সমস্ত সামগ্রী দেখবেন?


41

আমার বোধগম্যভাবে, awk অ্যারে পাইথন ডকের মতো কিছু।

সুতরাং আমি এটি অন্বেষণ করতে কোড বেলো লিখতে:

awk '{my_dict[$1] = $2} END { print my_dict}' zen

এবং আমি পেয়েছি: awk: can't read value of my_dict; it's an array name.

প্রথম কলামটি ইসনটা নম্বর হিসাবে, আমি কীভাবে অ্যারের মোট সামগ্রিটি পড়তে পারি বা এটি অতিক্রম করতে পারি?

উত্তর:


60

আপনি অ্যারের কীগুলি লুপ করতে পারেন এবং সংশ্লিষ্ট মানগুলি বের করতে পারেন:

awk '{my_dict[$1] = $2} END { for (key in my_dict) { print my_dict[key] } }' zen

পাইথন অভিধানের মতো আউটপুট পেতে আপনি কীটি মুদ্রণ করতে পারেন:

awk '{my_dict[$1] = $2} END { for (key in my_dict) { print key ": " my_dict[key] } }' zen

মূল ধরণের নির্বিশেষে এটি কাজ করে।



8

অ্যারে ইন awkঅভিধানের মতো প্রথম শ্রেণীর অবজেক্ট নয় Python। ইন awk, সাবস্ক্রিপ্ট ব্যতীত অ্যারের নামটি কেবল দুটি প্রসঙ্গে ব্যবহার করতে পারে :

  • একটি ফাংশন সংজ্ঞা বা ফাংশন কল একটি পরামিতি।
  • কীওয়ার্ডের পরে নাম টোকেন in

অন্য প্রসঙ্গে, awkএকটি ত্রুটি উত্থাপন করবে।

আপনার forপুনরুক্তি করতে এবং অ্যারের সামগ্রী মুদ্রণের জন্য একটি লুপ প্রয়োজন :

$ echo 1 2 | awk '{my_dict[$1] = $2};END {for(i in my_dict) print my_dict[i]}'
2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.