কেন 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