তালিকা পেতে ফাইল এবং মন্তব্য পেতে awk ব্যবহার


0

আমি একটি ফোল্ডারে সমস্ত ফাইলের সমস্ত মন্তব্য পেতে চাই।

এবং আমি যা চেষ্টা করেছি তা হ'ল

ls -R | awk '/<!--/,/-->/' >> result

তবে ফলাফল ফাইলে এটি কিছুই দেখায় না।

তবে আমি যদি awk '/<!--/,/-->/' >> resultকোনও ফাইলটিতে এটি ব্যবহার করি তবে তা কাজ করে।

এইচটিএমএল মন্তব্য ট্যাগ হয় <!-- some text here -->

আমি এটি ঠিক কিভাবে করা উচিত।

উত্তর:


1

আপনার অ্যাজক ফাইলের সামগ্রীর দিকে না বরং ফাইলের নামগুলি দেখছে। এখানে একটি আরও ভাল পদ্ধতির:

find ./ -type f -execdir grep "<!--.*-->" "{}" +

এটি findসমস্ত ফাইলের একটি তালিকা পেতে ব্যবহার করে এবং তারপরে grepআপনি যে পাঠ্যের সন্ধান করছেন তাতে কোনটি অনুসন্ধান করে। এটি কোনও কোলন (:) এবং মেলানো লাইনের পাঠ্য অনুসরণ করে কোনও মিলে যাওয়া ফাইলের নাম আউটপুট দেয়।


1

ls -Rকেবলমাত্র ফাইলের নাম ফাইল ফাইলের তালিকাভুক্ত করবে। আপনি grepকমান্ড ব্যবহার করে আরও সহজ উপায়ে এটি করতে পারেন ।

grep -rn '<!--.*-->'

অথবা যদি এটি ব্যবহার করে করতে চান awkতবে আপনি cat *সমস্ত ফাইলের সামগ্রীতে একটি ডিরেক্টরিতে তালিকাবদ্ধ করতে পারেন ।

cat * | awk '/<!--/,/-->' 

দ্রষ্টব্য: এই ডিরেক্টরিটি কেবল তখনই কার্যকর হয় যদি আপনার ডিরেক্টরিতে ফাইল থাকে।

আপনি যদি সমস্ত ডিরেক্টরিতে সমস্ত কন্টেন্ট তালিকাবদ্ধ করতে চান। আপনি এটি চেষ্টা করতে পারেন

find . -type f | xargs cat | awk '/<!--/,/-->/'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.