Zrozumienie kodu - linux

0

Witam, moglby ktos pomoc ze zrozumieniem dzialania i kodu:

sed -e '$p ' -e '/\.[a-z]\{3\}/d'

bo ja rozumiem polecenie sed, bardziej chodzi mi o resztę

5

. - dopasowuje jakikolwiek znak
[a-z]{3} - dopasowuje trzy znaki z zakresu od a do z.
Czyli w sumie całe wyrażenie dopasuje jakikolwiek znak (litery, przecinek, kropka, nawiasy itd.) a po nim trzy znaki z zakresu a- z.
Można to sprawdzić na stronie https://regexr.com/ . Tam też będzie takie wyjaśnienie.

0

@PerlMonk: kropka jest escape'owana – to chyba zmienia postać rzeczy?

0

@Silv: Kropka jest wyescape’owana dla shella, podobnie jak wyescape’owane są { czy }. Wyrażenie regularne, które dostaje sed, to faktycznie .[a-z]{3}, tak jak @PerlMonk napisał.

2

@Althorion: rzeczywiście, może się tak zdarzyć, nawet nie pomyślałem. Niemniej, jak teraz patrzę, shell to Bash, a znaki między apostrofami są czytane przez Bash as-is… ale może czegoś nie widzę.

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