składnia ls --hide = i ls --ignore =

17

ls --hidei ls --ignorezapewnia możliwość pominięcia plików zdefiniowanych za pomocą wyrażeń regularnych ustawionych po --ignore=części. Ten ostatni zapewnia, że ​​ta opcja nie zostanie wyłączona za pośrednictwem -a, -A. Polecenie mani infostrona wspominają o wyrażeniach regularnych.

Pytanie : Jakie symbole wieloznaczne lub wyrażenia regularne są obsługiwane w ls --hide=i ls --ignore=.

Dowiedziałem się, że * $ ?wydaje się, że jest obsługiwany, podobnie jak wyrażenia wspornikowe POSIX. Ale to nie wydaje się działać przez cały czas i jest to dla mnie raczej gra prób i błędów. Czy przegapiłem tutaj coś ważnego?

erch
źródło
Nieco powiązane, ale to pytanie dotyczy konkretnie, --ignorepodczas gdy cytowane pytanie dotyczy emacsa i --ignorezostało wspomniane jedynie w odpowiedzi.
bahamat

Odpowiedzi:

13

Z instrukcji :

-I pattern, --ignore=pattern

W katalogach zignoruj ​​pliki, których nazwy pasują do wzorca powłoki (nie wyrażenia regularnego). Podobnie jak w powłoce, inicjał .w nazwie pliku nie pasuje do znaku wieloznacznego na początku wzorca. Czasami warto podać tę opcję kilka razy. Na przykład,

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

Pierwsza opcja ignoruje nazwy o długości 3 lub większej zaczynające się od ., druga ignoruje wszystkie dwuznakowe nazwy rozpoczynające się od .oprócz .., a trzecia ignoruje nazwy rozpoczynające się od #.

Można używać tylko wzorców globu powłoki : *dopasowuje dowolną liczbę znaków, ?dopasowuje dowolny znak, […]dopasowuje znaki w nawiasach i \cytuje następny znak. Postać $oznacza siebie (upewnij się, że zawiera się w pojedynczych cudzysłowach lub poprzedza ją, \aby chronić ją przed rozszerzeniem powłoki).

Gilles „SO- przestań być zły”
źródło
0

Wykorzystuje format wzorca wyrażenia regularnego POSIX.2. Szczegółowe informacje można znaleźć na re_format(7)stronie podręcznika użytkownika .

bahamat
źródło
właśnie to miałem na myśli z Wyrażeniem Wspornika POSIX, dokładnie :)
erch
Chyba tak naprawdę chciałem powiedzieć ci, żebyś po prostu przeczytał stronę podręcznika.
bahamat