Hlavní navigace

REN - užitočná utilitka pre začiatočníkov

Milan Gigel

Keďže príkaz mv nám umožňuje premenovávanie iba jednotlivých súborov a premenovávavanie podľa wildcards je nutné riešiť pomocnými skriptami, Vladimir Lanin sa rozhodol napísať pomocníka, ktorý nám umožní premenovávanie viacerých súborov naraz podľa wildcards, ako sme boli zvyknutí napríklad v prostredí MSDOS.

Výsledkom je krátky program s názvom ren, ktorý je k dispozícii na stiahnutie na freshmeat.net/re­dir/ren/18362/ur­l_tgz/ren-1.0.tar.gz

Kompilácia na linuxe je jednoduchá.

Stačí rozbaliť balík a skompilovať.

    tar xzvf ren-1.0.tar.gz
    cd ren-1.0
    make

Teraz si ukážeme praktické použitie. Ako vstupné parametre programu sa používajú wildcards pre zdrojové súbory a pravidlo pre tvorbu názvov pre výstupný súbor, čiže naprríklad:

    ren "*.txt" "#1.text"

Treba si všimnúť, že reťazce musia byť ohraničené úvodzovkami. Pre zdrojovú wildcard sú k dispozícii klasické pravidlá. Znak * nahradzuje ľubovoľný počet znakov, znak ? nahradzuje znak jeden. Pre tvorbu pravidla na generovanie názvu výstupného súboru platí pravidlo, že reťazec vyhovujúci zástupným znakom * a ?, číslovaním z ľava do prava sa nahradzuje jeho indexovým označením #1..... #n, čiže

    ren "*.*" "#1.aaa.#2"

spôsobí premenovanie pokus.txt na pokus.aaa.txt

    ren "*.?" "#1._#2"

spôsobí premenovanie pokus.c na pokus._c a bla.h na bla._h, ale bezo zmeny názvu zostane pokus.cpp

Je to jednoduchý a rýchly pomocník, ktorý však nepodporuje regexp výrazy, ale iba klasickú „hviezdičkovú substitučnú konvenciu“. Ale aj napriek tomu si kvoli svojej užitočnosti zaslúži pozornosť.

Našli jste v článku chybu?
24. 9. 2001 13:56
Matus (neregistrovaný)

volne v debiane aj v redhate... umoznuje premenovat subory perlovskou expression.... rename 's/\.txt.$/.bak/' *