Welche Optionen muss ich verwenden find
, um versteckte Dateien auszuschließen?
linux
command-line
unix
find
von dort
quelle
quelle
ls
wenn nicht ausdrücklich angefordert: Es handelt sich in jeder Hinsicht um ganz gewöhnliche Dateien, es ist nur so, dassls
Sie sie standardmäßig ignorieren können..hidden/visible.txt
?Antworten:
Ich fand das hier :
quelle
\( ! -name '.*' \)
?\( ! -path '*/.*' \)
würde.Es scheint, dass das Glob-Muster der Negation nicht gut bekannt ist. So können Sie verwenden:
quelle
Dies beantwortet Ihre Frage nicht, aber für die Aufgabe, nicht versteckte Dateien zu finden, möchte ich alle Dateien finden lassen und dann mit grep filtern.
Ähnlich wie Ihr Ansatz, aber vielleicht ein bisschen einfacher.
quelle
Versuchen Sie die folgende
find
Verwendung:Was alle versteckten Dateien (Dateien und Verzeichnisse, die mit einem Punkt beginnen) ignorieren würde.
quelle
Ich habe ein Skript namens geschrieben,
findnh
das meiner Meinung nach bestimmte Randfälle besser behandelt als die Antworten auf diese Frage, die ich im Internet gefunden habe.Beispielsweise können Sie nicht ausgeblendete Dateien und Verzeichnisse in einem explizit angegebenen ausgeblendeten Verzeichnis mit einem Befehl wie
findnh ~/.hiddendir/
dem folgenden suchen , der~/.hiddendir/file
jedoch nicht angezeigt wird~/.hiddendir/.superhiddenfile
.quelle
findnh ~/.hiddendir/
, bekomme ich nichts. Wie unterscheidet sich das von! -path '*/.*'
undfind … | grep -v '/\.'
?Wenn Sie Ziele ist es
find
undgrep
,ripgrep
tut versteckte Dateien standardmäßig ausschließen, zBquelle
fd
Verwenden Sie
fd
eine einfache, viel schnellere und benutzerfreundliche Alternative zufind
. Standardmäßig ist es:.gitignore
.Überprüfen Sie die Benchmark-Analyse .
quelle
So finden Sie versteckte Dateien:
So finden Sie sichtbare Dateien:
So einfach ist das.
quelle