find
छिपी हुई फ़ाइलों को बाहर करने के लिए मुझे किन विकल्पों का उपयोग करने की आवश्यकता है ?
.hidden/visible.txt
?
find
छिपी हुई फ़ाइलों को बाहर करने के लिए मुझे किन विकल्पों का उपयोग करने की आवश्यकता है ?
.hidden/visible.txt
?
जवाबों:
मुझे यह यहाँ मिला :
find . \( ! -regex '.*/\..*' \) -type f -name "whatever"
\( ! -name '.*' \)
?
\( ! -path '*/.*' \)
होगा।
यह आपके प्रश्न का उत्तर नहीं देता है, लेकिन गैर-छिपी हुई फ़ाइलों को खोजने के कार्य के लिए मैं सभी फ़ाइलों को खोजने देना चाहता हूं, फिर grep के साथ फ़िल्टर करें।
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
आपको डिफ़ॉल्ट रूप से अनदेखा करने देता है।