Z jakimi opcjami muszę korzystać, find
aby wykluczyć ukryte pliki?
linux
command-line
unix
find
stamtąd
źródło
źródło
ls
chyba że wyraźnie o to poproszono: są to całkowicie zwykłe pliki pod każdym względem, tylkols
domyślnie pozwala je zignorować..hidden/visible.txt
?Odpowiedzi:
Znalazłem to tutaj :
źródło
\( ! -name '.*' \)
?\( ! -path '*/.*' \)
by.Wygląda na to, że globalny wzór negacji nie jest dobrze znany. Możesz więc użyć:
źródło
To nie odpowiada na twoje pytanie, ale dla zadania znajdowania nie ukrytych plików chcę pozwolić znaleźć wszystkie pliki, a następnie filtrować za pomocą grep.
Podobne do twojego podejścia, ale może nieco prostsze.
źródło
Wypróbuj następujące
find
użycie:Co zignoruje wszystkie ukryte pliki (pliki i katalogi zaczynające się od kropki).
źródło
Napisałem skrypt o nazwie,
findnh
który moim zdaniem lepiej radzi sobie z niektórymi przypadkami krawędziowymi niż odpowiedzi na to pytanie, które udało mi się znaleźć w Internecie.Na przykład, możesz znaleźć nie ukryte pliki i katalogi w wyraźnie określonym ukrytym katalogu za pomocą polecenia podobnego
findnh ~/.hiddendir/
, które pokaże,~/.hiddendir/file
ale nie~/.hiddendir/.superhiddenfile
.źródło
findnh ~/.hiddendir/
, nic nie dostaję. Poza tym, czym to się różni od! -path '*/.*'
ifind … | grep -v '/\.'
?Jeśli Twoim celem jest
find
igrep
,ripgrep
domyślnie wyklucza ukryte pliki, npźródło
fd
Użyj
fd
prostej, znacznie szybszej i przyjaznej dla użytkownika alternatywy dlafind
. Domyślnie:.gitignore
Domyślnie ignoruje wzorce z twojego .Sprawdź analizę testu porównawczego .
źródło
Aby znaleźć ukryte pliki:
Aby znaleźć widoczne pliki:
To takie proste.
źródło