find
লুকানো ফাইলগুলি বাদ দিতে আমার কোন বিকল্পগুলি ব্যবহার করতে হবে ?
.hidden/visible.txt
?
find
লুকানো ফাইলগুলি বাদ দিতে আমার কোন বিকল্পগুলি ব্যবহার করতে হবে ?
.hidden/visible.txt
?
উত্তর:
আমি এটি এখানে পেয়েছি :
find . \( ! -regex '.*/\..*' \) -type f -name "whatever"
\( ! -name '.*' \)
?
\( ! -path '*/.*' \)
হবে।
দেখে মনে হচ্ছে নেগ্রেশন গ্লোব প্যাটার্নটি ভালভাবে জানা নেই। সুতরাং আপনি ব্যবহার করতে পারেন:
find . -name "[!.]*"
এটি আপনার প্রশ্নের উত্তর দেয় না, তবে গোপনীয় ফাইলগুলি খুঁজে বের করার কাজটির জন্য আমি সমস্ত ফাইলগুলি সন্ধান করতে চাই তারপরে গ্রেপ দিয়ে ফিল্টার করব।
find . -type f | grep -v '/\.'
আপনার পদ্ধতির মতো তবে সম্ভবত কিছুটা সহজ।
আমি একটি স্ক্রিপ্ট লিখেছিলাম findnh
যা আমি বিশ্বাস করি যে আমি ওয়েবে সন্ধান করতে পেরেছি এমন প্রশ্নের উত্তরের চেয়ে কিছু প্রান্তের কেস ভালভাবে পরিচালনা করে।
#!/bin/bash
declare -a paths
while [ $# -ne 0 ]; do
case "$1" in -*) break ;; esac
paths+=("$1")
shift
done
find "${paths[@]}" \( -name . -o -name .. -o \! \( -name '.*' -prune \) \) "$@"
উদাহরণস্বরূপ, আপনি একটি স্পষ্টভাবে সুনির্দিষ্ট গোপন ডিরেক্টরিতে একটি কমান্ডের মতো অনুলিপিযুক্ত ফাইল এবং ডিরেক্টরিগুলি খুঁজে পেতে পারেন findnh ~/.hiddendir/
যা প্রদর্শিত হবে ~/.hiddendir/file
তবে তা নয় ~/.hiddendir/.superhiddenfile
।
findnh ~/.hiddendir/
কিছুই পাই না। তা বাদে এ কীভাবে ! -path '*/.*'
এবং এর থেকে আলাদা find … | grep -v '/\.'
?
fd
এর জন্য fd
একটি সহজ, আরও দ্রুত এবং ব্যবহারকারী-বান্ধব বিকল্প ব্যবহার করুন find
। ডিফল্টরূপে, এটি:
.gitignore
ডিফল্টরূপে আপনার থেকে নিদর্শনগুলি উপেক্ষা করে ।বেঞ্চমার্ক বিশ্লেষণ পরীক্ষা করে দেখুন ।
ls
নির্দিষ্টভাবে অনুরোধ না করা পর্যন্ত তালিকাভুক্ত করা হয় না: এগুলি প্রতিটি ক্ষেত্রে সম্পূর্ণ সাধারণ ফাইল, কেবলমাত্র এটিls
আপনাকে ডিফল্টরূপে উপেক্ষা করতে দেয়।