Verzeichnisse in ZSH glob ausschließen

1322
Erik

Mit zsh können Sie **/*eine kurze Alternative zu verwenden find. Gibt es eine Möglichkeit, das auf reguläre Dateien zu beschränken, das entspricht der -type fOption?

4

1 Antwort auf die Frage

9
qqx

Sie können (.)an ein Muster anhängen, um Übereinstimmungen auf einfache Dateien zu beschränken, sofern die Bare_Glob_QualOption festgelegt ist. Diese Option ist standardmäßig aktiviert, es sei denn, Sie haben zsh, das eine andere Shell emuliert. Dies wird im Abschnitt Glob-Qualifikationsmerkmale der zshexpn-Manpage behandelt .

Das vollständige Muster für reguläre Dateien im aktuellen Verzeichnis und dessen Unterverzeichnissen wäre also **/*(.).

Während Ihre Antwort den Fragenkörper perfekt beantwortet - ich möchte @ Eriks Fragetitel kommentieren: Um Verzeichnisse auszuschließen, verwenden Sie "** / * (^ /)" - damit werden symbolische Links, Fifos usw. aufgelistet, wohingegen mit "*" * / * (.) `sind sie nicht. mpy vor 10 Jahren 3