Syntax von ls --hide = und ls --ignore =

16

ls --hideund ls --ignorebietet die Möglichkeit, Dateien wegzulassen, die durch nach dem --ignore=Teil gesetzte reguläre Ausdrücke definiert sind . Letzteres stellt sicher, dass diese Option nicht über deaktiviert wird -a, -A. In den Befehlen manund auf der infoSeite werden reguläre Ausdrücke erwähnt.

Frage : Welche Platzhalter oder reguläre Ausdrücke unterstützt werden ls --hide=und ls --ignore=.

Ich fand heraus, dass * $ ?anscheinend auch POSIX-Bracket-Ausdrücke unterstützt werden. Aber das scheint nicht immer richtig zu funktionieren und ist für mich eher ein Versuch und Irrtum. Habe ich hier etwas Wichtiges verpasst?

erch
quelle
Etwas verwandt, aber bei dieser Frage handelt es sich speziell um eine --ignoreFrage, bei der es sich um Emacs handelt, und --ignoredie in der Antwort nur beiläufig erwähnt wird.
Bahamat

Antworten:

12

Aus dem Handbuch :

-I pattern, --ignore=pattern

Ignorieren Sie in Verzeichnissen Dateien, deren Namen mit dem Muster des Shell-Musters (nicht des regulären Ausdrucks) übereinstimmen. Wie in der Shell .stimmt eine Initiale in einem Dateinamen nicht mit einem Platzhalter am Anfang des Musters überein. Manchmal ist es sinnvoll, diese Option mehrmals anzugeben. Beispielsweise,

     $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'

Die erste Option ignoriert Namen mit einer Länge von 3 oder mehr ., die zweite Option ignoriert alle Namen mit zwei Zeichen, die mit .Ausnahme beginnen .., und die dritte Option ignoriert Namen , die mit beginnen #.

Sie können nur Shell- Glob-Muster verwenden : Stimmt* mit einer beliebigen Anzahl von Zeichen ?überein , stimmt mit einem beliebigen Zeichen […]überein , stimmt mit den Zeichen in Klammern überein und \zitiert das nächste Zeichen. Das Zeichen $steht für sich selbst (stellen Sie sicher, dass es in einfachen Anführungszeichen steht oder dass vor einem ein steht \, um es vor der Erweiterung der Shell zu schützen).

Gilles 'SO - hör auf böse zu sein'
quelle
0

Es wird das Regex-Musterformat POSIX.2 verwendet. Weiterere_format(7) Informationen finden Sie auf der Manpage .

Bahamat
quelle
Genau das habe ich mit POSIX Bracket Expression gemeint :)
Erch
Ich schätze, ich wollte dir wirklich sagen, dass du nur die Manpage lesen sollst.
Bahamat