Pomoc w odczytaniu wywołania programu grep

0

Witam, czy znajdzie się ktoś, kto jest w stanie odczytać wywołanie polecenia grep i wytłumaczyć je krok po kroku?

ls -l ~ | grep ’^drwx(r..){2}.*[a-zA-Z]{5}(ry|op)$’

Oczywiście początek jest jasny, wyświetlamy listę plików z dodatkowymi informacjami z katalogu domowego. Jednak nie rozumiem dalszej części dotyczącej ograniczeń. Z tego co wyczytałem, to ^drwx pozwala na wyświetlenie kombinacji składających się z wszystkich liter alfabetu angielskiego z wyłączeniem liter d,r,w,x. I dalej już zaczynają się schody, nie wiem już jak odczytać nawias (r..). Czy chodzi o to, że litera na 5 miejscu to r, a następne dwie są dowolne? Najlepiej gdyby ktoś wyjaśnił całość, z góry thx.

0

Może to Ci pomoże w rozwikłaniu tego wrażenia regularnego: https://regex101.com/r/vT1rD5/6 Zobacz "explanation" po prawej.

Generalnie na początku dopasowuje się to do wzorca w uprawnieniach dostępu do katalogów, a potem nazwa katalogu musi mieć minimum 5 znaków i końcówkę "ry" albo "op".

0

Bardzo dobrze wytłumaczone, świetna odpowiedź, dzięki. Oczywiście mogłem źle zrozumieć, ale z tego co wywnioskowałem, to uprawnienia muszą być postaci drwxr..r.. gdzie w miejscu kropek może być dowolna wartość oprócz spacji. Chociaż wiadomo, że tam może być tylko x,w,"-", ale to już bez znaczenia. I w dalszej części szczytuję całą linijkę z datami, nazwami itd. Sprawdza tylko żeby było minimum 5 znaków, a nazwa pliku musi się kończyć tak jak wspomniałeś na "ry", lub "op". To znaczy ostatnie dwa znaki w linii, ale że to przy wywołaniu ls -l jest nazwa pliku, to chodzi o nazwę pliku. Czy ktoś może potwierdzić?

1 użytkowników online, w tym zalogowanych: 0, gości: 1