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ę
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ę
.
- 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.
@PerlMonk: kropka jest escape'owana – to chyba zmienia postać rzeczy?
@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ł.
@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ę.