যদি ফাইলের দুটি লাইনের মধ্যে দ্বিগুণ উদ্ধৃতিগুলির একটি বিজোড় সংখ্যা থাকে তবে মোট ডাবল উদ্ধৃতিগুলির সমষ্টিটি সমান হবে এবং আপনি ভারসাম্যহীন উদ্ধৃতি সনাক্ত করতে পারবেন না (এটি আমি ধারণা করি যা আপনি আসলে করতে চান তবে আমি ভুল হতে পারি) )।
এই awk
স্ক্রিপ্টটি ইনপুট লাইনের যে কোনও লাইনটির বিশদ সংখ্যার উক্তি রয়েছে:
awk -F'"' 'NF % 2 == 0 { printf("Line %d has odd quoting: %s\n", NR, $0) }'
আমরা ক্ষেত্রের বিভাজক (সেট FS
) এর "
সঙ্গে -F'"'
যার মানে এটা বিজোড় কোট হয়েছে থাকে একটি লাইন ক্ষেত্র একটি এমনকি নম্বর আছে। NF
সাম্প্রতিক রেকর্ডে ক্ষেত্রের NR
সংখ্যা এবং এটি বর্তমান রেকর্ডের অর্ডিনাল সংখ্যা ("লাইন নম্বর")।
নিম্নলিখিত ইনপুট দেওয়া হয়েছে:
$ cat file
cluster-env,"manage_dirs_on_root","true"
cluster-env,"one_dir_per_partition","false"
cluster-env,override_uid","true"
cluster-env,recovery_enabled","false"
আমরা পেতে
$ awk -F'"' 'NF % 2 == 0 { printf("Line %d has odd quoting: %s\n", NR, $0) }' file
Line 3 has odd quoting: cluster-env,override_uid","true"
Line 4 has odd quoting: cluster-env,recovery_enabled","false"
কিছুটা এইরকম
$ grep -o '"' | wc -l
এই ফাইলে "14" ফিরিয়ে দেবে।