আমাদের উত্স কোডটিতে ত্রুটিযুক্ত কোডগুলি ছড়িয়ে আছে। গ্রেপ দিয়ে তাদের সন্ধান করা সহজ, তবে আমি একটি বাশ ফাংশন চাই find_code
যা আমি চালাতে পারি (উদা। find_code ####
) যা এই রেখাগুলিতে আউটপুট সরবরাহ করবে:
/home/user/path/to/source.c
85 imagine this is code
86 this is more code
87 {
88 nicely indented
89 errorCode = 1111
90 that's the line that matched!
91 ok this block is ending
92 }
93 }
আমার কাছে বর্তমানে যা আছে তা এখানে:
find_code()
{
# "= " included to avoid matching unrelated number series
# SRCDIR is environment variable, parent dir of all of projects
FILENAME= grep -r "= ${1}" ${SRCDIR}
echo ${FILENAME}
grep -A5 -B5 -r "= ${1}" ${SRCDIR} | sed -e 's/.*\.c\[-:]//g'
}
সমস্যা:
1) এটি লাইন নম্বর সরবরাহ করে না
2) এটি কেবলমাত্র .c উত্স ফাইলগুলির সাথে মেলে। .C, .cs, .cpp, এবং অন্যান্য উত্স ফাইলগুলি মিলিয়ে নিতে আমার সমস্যা হচ্ছে। আমরা সি ব্যবহার করি, তবে সহজভাবে মিলে যায় - বা: (প্রতিটি অক্ষরের কোডের আগে গ্রেপ করা ফাইলগুলি নামের সাথে মিলিয়ে যায়) object->pointers
এবং সবকিছু মিলে যায়।
MATCH="= ${1}"
।--include=*.c --include=*.cpp --include=*.java --include=*.cs
উত্স ফাইলগুলিতে অনুসন্ধান সীমাবদ্ধ করতে আমি যুক্তও করেছি। ধন্যবাদ!