findGizli dosyaları dışlamak için hangi seçenekleri kullanmam gerekir ?
.hidden/visible.txt?
findGizli dosyaları dışlamak için hangi seçenekleri kullanmam gerekir ?
.hidden/visible.txt?
Yanıtlar:
Bunu burada buldum :
find . \( ! -regex '.*/\..*' \) -type f -name "whatever"
\( ! -name '.*' \)?
\( ! -path '*/.*' \)olur.
Olumsuzluk glob modelinin iyi bilinmediği görülüyor. Yani kullanabilirsiniz:
find . -name "[!.]*"
Bu, sorunuzu cevaplamıyor, ancak gizli olmayan dosyaları bulma görevi için, tüm dosyaları bulabilmeyi ve sonra grep ile filtrelemeyi seviyorum.
find . -type f | grep -v '/\.'
Yaklaşımınıza benzer ancak belki biraz daha basit.
findnhBelli başlı vakaları web'de bulabildiğim bu sorunun cevaplarından daha iyi ele aldığına inandığım bir senaryo yazdım .
#!/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 \) \) "$@"
Örneğin, içinin nasıl bir komutla bir açıkça belirtilen gizli dizinin olmayan gizli dosyaları ve dizinleri bulabilirsiniz findnh ~/.hiddendir/gösterecektir, ~/.hiddendir/fileancak ~/.hiddendir/.superhiddenfile.
findnh ~/.hiddendir/hiçbir şey alamadım. Bundan başka, bunun nasıl ! -path '*/.*'ve find … | grep -v '/\.'?
fdKullanımı fdbasit, çok daha hızlı ve kullanıcı dostu bir alternatif find. Varsayılan olarak:
.gitignoreVarsayılan olarak, 'daki kalıpları yok sayar .Benchmark analizini kontrol edin .
lsözel olarak talep edilmedikçe listelenmemiş olmaları: her bakımdan tamamen sıradan dosyalar, sadecelsvarsayılan olarak onları görmezden gelmenize izin veriyor.