linuksoidų patarimai

Kaip pervardinti daug failų viena komanda

2008-07-09, kiras

Jei sumanysit pervardinti daug failų vienu kartu, negaiškit laiko ieškodami specialiai tam skirtos grafinės programos. Geriau išbandykit komandinę eilutę.

Turim keletą failų kuriuos reikia pervardinti:

kiras@linuksoidas:~/dokumentai/linux administravimas$ ls
lesson01.pdf lesson04.pdf lesson07.pdf lesson10.pdf lesson13.pdf lesson16.pdf lesson02.pdf lesson05.pdf lesson08.pdf lesson11.pdf lesson14.pdf lesson17.pdf lesson03.pdf lesson06.pdf lesson09.pdf lesson12.pdf lesson15.pdf lesson18.pdf lesson19.pdf

Pasinaudosim komanda rename, kurios sintaksė yra rename <naujas pavadinimas> <failas>. Mums reikia pakeisti ne visą pavadinimą o tik jo dalį. Nes antraip visiems failams bus priskirtas vienas ir tas pats pavadinimas, kitaip tariant visi failai bus prarasti. <Naujo pavadinimo> vietoje turime panaudoti perl-o reguliariąsias išraiškas, kurios bendru atveju nėra paprastos naudoti, bet paprastose situacijose, kaip pavyzdyje, nėra sudėtingos.

Užrašyti išraišką galima tokiu pavidalu: ‘s/ ko ieškom / į ką keičiam /’. Pakeiskim pavadinimuose esantį žodį „lesson“ į „linux pamoka – “. O prieš keitimą, naudodami raktą -n, pasitikrinkim, ar teisingai suformavom užklausą:

kiras@linuksoidas:~/dokumentai/linux administravimas$ rename -n "s/lesson/linux pamoka - /" *.pdf
lesson01.pdf renamed as linux pamoka - 01.pdf
lesson02.pdf renamed as linux pamoka - 02.pdf
lesson03.pdf renamed as linux pamoka - 03.pdf
lesson04.pdf renamed as linux pamoka - 04.pdf
lesson05.pdf renamed as linux pamoka - 05.pdf
lesson06.pdf renamed as linux pamoka - 06.pdf
lesson07.pdf renamed as linux pamoka - 07.pdf
lesson08.pdf renamed as linux pamoka - 08.pdf
lesson09.pdf renamed as linux pamoka - 09.pdf
lesson10.pdf renamed as linux pamoka - 10.pdf
lesson11.pdf renamed as linux pamoka - 11.pdf
lesson12.pdf renamed as linux pamoka - 12.pdf
lesson13.pdf renamed as linux pamoka - 13.pdf
lesson14.pdf renamed as linux pamoka - 14.pdf
lesson15.pdf renamed as linux pamoka - 15.pdf
lesson16.pdf renamed as linux pamoka - 16.pdf
lesson17.pdf renamed as linux pamoka - 17.pdf
lesson18.pdf renamed as linux pamoka - 18.pdf
lesson19.pdf renamed as linux pamoka - 19.pdf

Su raktu -n pervardinimas tik imituojamas. Jei viskas gerai, galime ištrinti -n ir pakeisti pavadinimus iš tikro.

Dar pora pavyzdžių galite rasti man puslapyje ir šiame bloge.

2 komentarai

 

# Kęstutis

Dėkui. Kaip tik prireikė :)

[]

 

# GODhack

Tas zymiai paprasciau atlikti ir isiminti taip:
rename lesson linux_pamoka- *.pdf
Apibendrinant:
rename ka i_ka kuriuose_failuse

Naudoti tarpus ” ” blogas yprotis geriau deti _, nes terminale ” ” ir butent reiskia tarpa tarp dvieju komandu ar pavadinimu ar t.t., o jei vedam ir turim galvoje tarpa kaip kalbini dalyka, o ne kaip tarpa tarp dvieju komandu ar pavadinimu tai tenka vesti „\ „.

[]