AWK CSV স্ট্রিম সম্পাদনা, দ্বিতীয় কলাম> = 0 হলে অভিন্ন প্রথম কলামগুলির জন্য তৃতীয় কলামগুলি মার্জ করুন merge


0

আমি উইন্ডোতে রয়েছি এবং কেবল লিনাক্স অ্যাডক ইত্যাদি সম্পর্কে শুনেছি তাই আমি কেবল এটি অনুমান করতে পারি যে এটি বাস্তব স্ক্রিপ্টিং ছাড়াই সম্ভব:

আমার মত ডেটা আছে

..
162     42      A single serving
162     62      of french fries, please
164     -1      ABC
164     -1      1
..

যে আমি পরিণত হতে চাই

..
A single serving of french fries, please
..

সুতরাং নিয়ম হবে

দ্বিতীয় কলাম> = 0 হলে অভিন্ন প্রথম কলামগুলির জন্য তৃতীয় কলামগুলি মার্জ করুন।

আমি উইন্ডোজের জন্য বিশ্রী খোঁজার চেষ্টা করব।


উইন্ডোজের জন্য এখানে জিএনইউ অ্যাড (ডাউনলোডের নির্ভরতাও ডাউনলোড করুন)।
কেউ

gawk "$2 >= 0 { print $3 }" txt.txtআমার পছন্দসই স্ট্রিংগুলি আমাকে দেয় তবে এখনও প্রথম কলাম দ্বারা
হয়নি

উত্তর:


0

স্ট্রিংগুলি তৈরি করতে অ্যারেগুলি ব্যবহার করুন:

awk -F '\t' '
  $2 >= 0 {str[$1] = str[$1] $3 " "}
  END {for (s in str) print str[s]}
' filename

আমি আশা করি আপনার ডেটা আসলে ট্যাব-বিভক্ত কারণ অন্যথায় প্রথম লাইনের জন্য A 3 == "এ"।


ফ্যান্টাস্টিক। এই Windows এ কাজ করেgawk -F "\t" "$2 >= 0 {str[$1] = str[$1] $3 \" \"} END {for (s in str) print str[s]} " %1
কেউ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.