Bash - prosty skyrpt zmiany nazwy plików


(master of disaster) #1

Witam!

W ogóle nie umiem basha, dla tego proszę Was o pomoc.

Potrzebuje jakiś prosty skrypt, który ze wszystkich plików jpg w folderze, usunie trzy pierwsze znaki z ich nazwy.

Nie musi być w bashu, może być perl czy coś, ważne żebym mógł to odpalić na shell'u.

Pozdrawiam.


(Sawyer47) #2

rename - tyle, że trzeba znać wyrażenia regularne.

rename -n 's/...(.*)/$1/' *

Opcja -n sprawia, że zmiany nie są dokonywane, a jedynie zostaje wyświetlone jak zostałyby pozmieniane nazw

// edit

Chyba bardziej elegancka jest wersja zaproponowana poniżej przez grzelix


(Grzelix) #3

lub tak:

rename 's/^.{3}//' *

(master of disaster) #4

Dzięki, ale czy zmieni nazwę wszystkich zdjęć w folderze? Nie potrzeba jakiejś pętli do tego?


(Grzelix) #5

nie, nie potrzeba

gwiazdka na końcu odwołuje się do wszystkich plików w folderze


(master of disaster) #6

Dziękuje Panowie.

Wiem wiem, powinienem sam kombinować, ale coś mi to nie wychodzi - a jak by wyglądało na usuwanie dwóch ostatnich?


(Sawyer47) #7
rename -n 's/..$//' *

Wyrażenia regularne są bardzo użyteczne, może warto by w wolnej chwili trochę o nich poczytać?