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 ফাইল নিয়ে কাজ করার জন্য শক্তিশালী বিকল্প প্রস্তাব করে।