কেন grep সঠিকভাবে কাজ করছে না
আপনি কাজ করতে হবে কারণ এটি কাজ করে না grep যে .* আপনি খুঁজছেন হয় আসল প্যাটার্ন।
grep '.*' -c list3
আপনি যদি একক উদ্ধৃতি ব্যবহার না করেন তবে আপনার শেলটি প্রসারিত হবে .* আপনার ডিরেক্টরির মধ্যে প্রতিটি ফাইলের নাম। এই বলা হয় ফাইল নাম সম্প্রসারণ । উদাহরণ স্বরূপ a.txt b.txt, তাই grep দেখবো:
grep a.txt b.txt -c list3
থেকে একক উদ্ধৃতি ঘটনার থেকে বিস্তার প্রতিরোধ করুন, এটি এখানে যাওয়ার উপায়।
যেখানে আপনার grep কমান্ড ভুল
যাইহোক, আপনি এখানে প্যাটার্ন সঙ্গে ভুল দিক যাচ্ছে। কাল . একটি নিয়মিত অভিব্যক্তি ম্যাচ কোন চরিত্র, এবং আক্ষরিক ডট না। দেখ দ্য man পৃষ্ঠা আরও তথ্যের জন্য. সুতরাং আপনার regex বর্তমানে বলেছেন: "কোন অক্ষর এবং তারপর কোনো চরিত্র একটি ক্রম খুঁজে।"। বেশ অপ্রত্যাশিত।
আপনি যদি সত্যিই মিলা মানে:
[বিন্দু] [অন্য কিছু]
... আপনি বিন্দু থেকে পালাতে হবে:
\.*
যেখানে আপনার find কমান্ড উন্নত করা যেতে পারে:
আমি আপনি পরিত্রাণ পেতে মানে কি জানি না
\( ! -iname ".*" \)
তোমার find কমান্ডটি বর্তমান কাজ নির্দেশকের জন্য বিন্দু সহ কোনও ফাইলকে উপসর্গ করবে, এইভাবে আপনি এখানে কোনও জিনিস সরাতে পারবেন না। আপনি শুধু চালাতে পারে:
find . -maxdepth 1 -type f