এর মতো একটি সিএসভি ফাইল থাকা:
HEADER
"first, column"|"second "some random quotes" column"|"third ol' column"
FOOTER
এবং ফলাফল যেমন খুঁজছেন:
HEADER
first, column|second "some random quotes" column|third ol' column
অন্য কথায় "FOOTER" অপসারণ, প্রারম্ভিক, শেষ এবং চারপাশে উদ্ধৃতি |
এখনও পর্যন্ত এই কোডটি কাজ করে:
sed '/FOOTER/d' csv > csv1 | #remove FOOTER
sed 's/^\"//' csv1 > csv2 | #remove quote at the beginning
sed 's/\"$//' csv2 > csv3 | #remove quote at the end
sed 's/\"|\"/|/g' csv3 > csv4 #remove quotes around pipe
আপনি যেহেতু সমস্যাটি দেখছেন এটি 4 টি অতিরিক্ত ফাইল তৈরি করে।
এখানে আরও একটি সমাধান রয়েছে, যার লক্ষ্য রয়েছে অতিরিক্ত ফাইলগুলি তৈরি না করা এবং একই জিনিসটি একটি স্ক্রিপ্টে না করা। এটি খুব ভাল কাজ করে না।
#!/bin/ksh
sed '/begin/, /end/ {
/FOOTER/d
s/^\"//
s/\"$//
s/\"|\"/|/g
}' csv > csv4
sed
এটি নিয়ে কাজ হবে না, কেবল সরল সিএসভি দিয়ে। এমন লাইব্রেরির সাথে এমন একটি প্রোগ্রামিং ভাষা ব্যবহার করুন যা আসল সিএসভি ফাইলগুলি (পাইথন / পার্ল / রুবি) পরিচালনা করতে পারে।