Hromadné přejmenování přípon souborů

rudaj

Hromadné přejmenování přípon souborů
« kdy: 22. 08. 2017, 09:21:03 »
Chci hromadne prejmenovat vsechny soubory v slozce z jedne pripony na jinou. Treba soubor1.tar.gz soubor2.tar.gz ... na soubor1.tgz soubor2.tgz ... Da se to udelat nejak jednoduse jenom standardnimi unix utilitami bez pouziti shell cyklu ? Nebo mi poradte nejkratsi zapis. Pozor, nazvy souboru muzou obsahovat i unicode znaky.
« Poslední změna: 22. 08. 2017, 10:26:52 od Petr Krčmář »


b00n

Re:Hromadne prejmenovani pripon souboru
« Odpověď #1 kdy: 22. 08. 2017, 09:56:12 »
man rename

Kód: [Vybrat]
rename .tar.gz .tgz *.tar.gz

rudaj

Re:Hromadné přejmenování přípon souborů
« Odpověď #2 kdy: 22. 08. 2017, 10:36:20 »
Zjistil jsem ze rename neni konzistentni na vsech unixech (a navic je to perl utilitka). V nekterych verzich je nutno dat:
Kód: [Vybrat]
rename -s .tar.gz .tgz *.tar.gz

JardaH

Re:Hromadné přejmenování přípon souborů
« Odpověď #3 kdy: 22. 08. 2017, 15:03:35 »
Bez cyklu, unicode zrejme nevadi, ale bile znaky v nazvu soboru budou delat bordel:

Kód: [Vybrat]
find . -maxdepth 1 -name \*.tar.gz | sed -re 's/(.*)\.tar\.gz/\0 \1.tgz/' | xargs -n 2 mv
S for-cyklem si myslim, ze je to nejkratsi a nejsnaze zapamatovatelne:

Kód: [Vybrat]
for i in *.tar.gz; do mv $i ${i//.tar.gz/.tgz}; done

Sten

Re:Hromadné přejmenování přípon souborů
« Odpověď #4 kdy: 22. 08. 2017, 15:53:11 »
A tohle je verze s for cyklem, ve které fungují i bílé znaky:

Kód: [Vybrat]
for i in *.tar.gz; do mv "$i" "${i//.tar.gz/.tgz}"; done
Stačí přidat uvozovky :D


kuk

Re:Hromadné přejmenování přípon souborů
« Odpověď #5 kdy: 22. 08. 2017, 18:53:36 »
thunar je na to vynikajúci, teda ak netrváš na cli

rudaj

Re:Hromadné přejmenování přípon souborů
« Odpověď #6 kdy: 22. 08. 2017, 21:12:01 »
thunar je na to vynikajúci, teda ak netrváš na cli

To neni standardni unix utilitka ale nejakej xfce manager co na pulce unixu nepujde, nebo bude vyzadovat 500MB zavislosti - xwindow pocinaje a emoji fontem konce  :)

ps: pod unixy myslim krome linuxu taky hpux, *bsd a macos. Dost by mi pomohlo kdybych mel vsude stejny script a nemusel to ifovat dle uname.

Ondrej

Re:Hromadné přejmenování přípon souborů
« Odpověď #7 kdy: 22. 08. 2017, 21:34:58 »
MC to zvlasne...