Portál AbcLinuxu, 4. května 2025 10:25

Dotaz: Jak přejmenovat přípony souborů

18.5.2009 23:24 wasd
Jak přejmenovat přípony souborů
Přečteno: 1087×
Odpovědět | Admin

Dobrý den,

mám více souborů v jedné složce s příponou txt. Chtěl bych přejmenovat jejich přípony na html.

příklad: 1.txt --> 1.html

Potřebuju nejaký příkaz bez použití cyklů(for,while..atd.)

zkoušel jsem to pomocí kombinace xargs,sedu a mv, ale nějak se nedaří... :(

Předem děkuji


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.5.2009 00:06 wasd
Rozbalit Rozbalit vše Re: Jak přejmenovat přípony souborů
Odpovědět | | Sbalit | Link | Blokovat | Admin

Už jsem si na to přišel sám :)

ls *.txt|xargs -i rename .txt .html {}

Fuky avatar 19.5.2009 22:50 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Jak přejmenovat přípony souborů

$ rename 's/txt$/html/' *.txt

20.5.2009 07:20 l4m4
Rozbalit Rozbalit vše Re: Jak přejmenovat přípony souborů
Toto ovšem funguje pouze v Debianu, který má jiný rename než ostatní.

rename .txt .html *.html
19.5.2009 23:50 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Jak přejmenovat přípony souborů
Odpovědět | | Sbalit | Link | Blokovat | Admin
for i in *.txt; do mv "$i" "${i%txt}html"; done
Při zadání v Midnight Commanderu je potřeba zadat %%, aby se procento a následující znak nenahradily hodnotou odpodídající této značce.
20.5.2009 08:36 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak přejmenovat přípony souborů
Sice to nesplňuje zadání (je použit cyklus), ale díky za ten hint o %%, občas to potřebuji a escapovat to zdvojením mne nenapadlo.
Řešení 1× (wtfjakovocode)
20.5.2009 09:36 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Jak přejmenovat přípony souborů
Buď je to úchylná úloha do školy, kde se v rámci cvičení dělají všelijaké zbytečnost, a nebo je to běžná potřeba, pro kterou stačí cyklus. Pokud by to mělo splňovat zadání, tak třeba takto:
bash -c "$(ls *.txt | sed 's/\(.*\)\(txt\)/mv "\1\2" "\1html";/')"

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.