আমি এই এসই ডেটা ক্যোয়ারীর.csv
আউটপুট নিয়ে কাজ করছি যা দেখতে এটি দেখতে (কেবল 5022 এন্ট্রি সহ):
"{
""id"": 281952,
""title"": ""Flash 11.2 No Longer Supported by Google Play""
}"
"{
""id"": 281993,
""title"": ""Netbeans won't open in Ubuntu""
}"
(এবং এর ^M
[সংখ্যা] এবং "" শিরোনাম "" এর মধ্যে লাইন শেষ রয়েছে)। এটি দেখতে এটি আমার দরকার:
281952,Flash 11.2 No Longer Supported by Google Play
281993,Netbeans won't open in Ubuntu
আমি এটি একটি নির্দিষ্ট পাঠ্য সম্পাদককে স্থির করেছিলাম যা সহজেই নামহীন থেকে যায়, তবে আমি একটি স্ক্রিপ্ট তৈরি করতে চেয়েছিলাম যাতে প্রতিবারের ক্যোয়ারী রিফ্রেশ হওয়ার সাথে সাথে আবার এটি না করতে হয় এবং অন্যরা এটি ব্যবহার করতে পারে। আমি sed
...
এই সিরিজের কমান্ডগুলি পুরোপুরি কার্যকরভাবে কাজ করে (যদিও এটি ভালভাবে অক্ষমও হতে পারে; এটি কেবলমাত্র একটি পরীক্ষামূলক-ত্রুটির সমাধান):
# Print the ^M and remove them, write to a new file:
cat -v QueryR* | sed 's/\^M//' > QueryNew
# remove all the other junk:
sed -i 's/{//' QueryNew
sed -i 's/}//' QueryNew
sed -i 's/""//g' QueryNew
sed -i 's/^"//' QueryNew
sed -i '/,/{N;/\n.*title:\s/{s/,\n.*title:\s/,\ /}}' QueryNew
sed -i 's/^\s\+//' QueryNew
sed -i '/^\s*$/d' QueryNew
sed -i 's/^id:\ //' QueryNew
sed -i 's/,\ /,/' QueryNew
sed -i 's/\\//g' QueryNew
তো, কেন এটি হয় না? কেবলমাত্র ^M
এবং {}
মুছে ফেলা হবে, এবং সমস্ত কিছু এখনও আছে।
#!/bin/bash
cat -v QueryR* | sed 's/\^M//' > QueryNew
sed -i '{
s/{//
s/}//
s/""//g
s/^"//
/,/{N;/\n.*title:\s/{s/,\n.*title:\s/,\ /}}
s/^\s\+//
/^\s*$/d
s/^id:\ //
s/,\ /,/
s/\\//g
}' QueryNew
আমি নিশ্চিত আমার ভুল সত্যিই সুস্পষ্ট ...
\r
।jq
প্রথম লাইনে যেখানে শিরোনাম ক্ষেত্রটি একটি কোলন ছিল (প্রথম লাইন) broke আমি এখনও নিশ্চিত কেন নইsed
আমাকে ঘৃণা করে, কিন্তু আমি কোট কিছু হত্যা করে এবং\r
এই লাইনে/,\r*/{N;/\n.*title.*:\s/{s/,\r*\n.*title.*:\s/,\ /}}
এবং পরিশেষে এটা মত কাজ করে এই । অনেক অনেক ধন্যবাদ ^ _ ^