Strona man podaje dwa przykłady:
rename 's/\.bak$//' *.bak
rename 'y/A-Z/a-z/' *
Więc to albo s albo y, a potem /replaceThis/withThis
Co oznaczają wiodące s i y? Czy są inne opcje?
Strona man podaje dwa przykłady:
rename 's/\.bak$//' *.bak
rename 'y/A-Z/a-z/' *
Więc to albo s albo y, a potem /replaceThis/withThis
Co oznaczają wiodące s i y? Czy są inne opcje?
Odpowiedzi:
W pierwszym przypadku:
rename 's/\.bak$//' *.bak
uruchamiasz wyrażenie regularne przeciwko nazwom plików i zastępujesz pasującą część wyrażeń (.bak na końcu nazwy pliku) drugim wyrażeniem (które jest puste).
W drugim przypadku:
rename 'y/A-Z/a-z/' *
dopasowujesz do przestrzeni wzorców wyrażeń regularnych i transliterujesz do celu. Innymi słowy, zakres AZ zmienia się na zakres az, przez co nazwy plików są małe.
Proponuję zajrzeć na stronę podręcznika użytkownika sed, aby uzyskać więcej poleceń i więcej szczegółów. Myślę, że najczęściej używane jest polecenie „s”. Jak dobrze, regex (sekcja 7) i Perl dokumentacja może być pomocne. W szczególności, oto samouczek dotyczący perla i wyrażeń regularnych.
Od man sed:
s / regexp / replace /
Próba dopasowania wyrażenia regularnego do przestrzeni wzorca. Jeśli sukces
W pełni wymień tę część dopasowaną do zamiennej. The
zamiennik może zawierać znak specjalny i odnosić się do tego
część pasującego obszaru wzoru i specjalne
ucieka od \ 1 do \ 9, aby odnieść się do odpowiedniego dopasowania
wyrażenia podrzędne w wyrażeniu regularnym.
y / source / dest /
Transliteruj znaki w wyświetlanym obszarze wzorców
w źródle do odpowiedniej postaci w dest.