Speziell zu git (gitignore, gitattributes und Befehle, die Dateinamen annehmen):Wenn das Muster keinen Schrägstrich enthält, *
Wildcards passen tief. Wenn es einen Schrägstrich enthält, ruft git fnmatch mit dem FNM_PATHNAME
auf -Flag, und einfache Platzhalter passen nicht zu Schrägstrichen. **
to match deep wird nicht unterstützt. Vielleicht könnte diese Art von Deep-Matching mit einem neuen FNM_STARSTAR
breiter unterstützt werden Flag und eine Implementierung in glibc, gnulib und anderen Stellen.
Wenn Sie alle von find zurückgegebenen Dateien bearbeiten möchten, anstatt sie nur aufzulisten, können Sie sie an xargs:
weiterleitenfind <directory> -type f | xargs ls
Dies gilt jedoch nur für Befehle, die kein rekursives Flag haben.
In Bash 4 mit shopt -s globstar
, und zsh können Sie **/*
verwenden die alles außer versteckten Dateien enthält. Sie können shopt -s dotglob
tun in Bash 4 oder setopt dotglob
in zsh, damit versteckte Dateien eingeschlossen werden.
In ksh set -o globstar
ermöglicht es. Ich glaube nicht, dass es eine Möglichkeit gibt, Punktdateien implizit einzuschließen, aber ich denke **/{.[^.],}*
funktioniert.