Fish Shell:
CSV এর সাথে কাজ করা

কিভাবে:

ফিশ শেল, নিজে থেকেই, CSV ম্যানিপুলেশনের জন্য নিজস্ব ফাংশন সমৃদ্ধ নয়। তবে, আপনি awk, sed, এবং cut এর মতো ইউনিক্স ইউটিলিটিগুলো ব্যবহার করে মৌলিক অপারেশনগুলি করতে পারেন অথবা csvkit এর মতো বিশেষায়িত টুলস ব্যবহার করতে পারেন আরো উন্নত কাজের জন্য।

একটি CSV ফাইল পড়া এবং প্রথম কলাম প্রিন্ট করা:

প্রথম কলাম নির্বাচনের জন্য cut ব্যবহার করা:

cut -d ',' -f1 data.csv

নমুনা আউটপুট:

নাম
অ্যালিস
বব

কলামের মানের উপর ভিত্তি করে CSV সারি ফিল্টার করা:

দ্বিতীয় কলামে “42” ম্যাচ করা সারিগুলি খুঁজতে awk ব্যবহার করা:

awk -F, '$2 == "42" { print $0 }' data.csv

নমুনা আউটপুট:

বব,42,লন্ডন

একটি CSV ফাইল মডিফাই করা (যেমন, একটি কলাম যোগ করা):

একটি স্থায়ী মান “NewColumn” সহ একটি কলাম যোগ করতে awk ব্যবহার করা:

awk -F, 'BEGIN {OFS=","} {print $0,"NewColumn"}' data.csv > modified.csv

modified.csv-এ নমুনা আউটপুট:

নাম,বয়স,শহর,নিউকলাম
অ্যালিস,30,নিউ ইয়র্ক,নিউকলাম
বব,42,লন্ডন,নিউকলাম

আরো উন্নত অপারেশনের জন্য csvkit ব্যবহার করা:

প্রথমে, নিশ্চিত করুন আপনি csvkit ইনস্টল করেছেন। যদি না থাকে, তাহলে pip ব্যবহার করে ইনস্টল করুন: pip install csvkit.

CSV ফাইলকে JSON-এ রূপান্তর করা:

csvjson data.csv > data.json

data.json-এ নমুনা আউটপুট:

[{"Name":"Alice","Age":"30","City":"New York"},{"Name":"Bob","Age":"42","City":"London"}]

csvkit-এর csvgrep ব্যবহারের সাথে ফিল্টারিং:

csvgrep -c 2 -m 42 data.csv

এই কমান্ডটি csvkit ব্যবহার করে ফিল্টারিং টাস্ক পুনরাবৃত্তি করে, মান “42” এর জন্য দ্বিতীয় কলামে টার্গেট করে।

সংক্ষেপে, যখন ফিশ শেল নিজেই সরাসরি CSV ম্যানিপুলেশনের সুবিধা দিতে নাও পারে, তার একত্রিত ইউনিক্স ইউটিলিটিগুলির সাথে সংযোগ এবং csvkit এর মতো টুলসের উপলব্ধতা CSV ফাইল নিয়ে কাজ করার জন্য শক্তিশালী বিকল্প প্রস্তাব করে।