Portál AbcLinuxu, 16. července 2025 07:55


Dotaz: Hromadné prejmenovaní

21.4.2004 12:22 honza
Hromadné prejmenovaní
Přečteno: 381×
Odpovědět | Admin
Ja vim ze tady to uz bylo, ale me to jaksi nefunguje. Stahl jsem si web, ktery obsahuje nazvy souboru s otazniky. Tento adresar bych potreboval zachovat! Co potrebuju jej zkopirovat do jineho adresare a tam jej prejmenovat, tak aby funkcnost byla zachovana. Vyzkousel jsem neco takoveho:
# Tady je zdroj:
cd /home/user/web-offline
# Zkopiruju do pracovniho adresare:
cp -r /home/user/web-offline/* /home/user/1/
SEZNAM=`ls -alr |cut -b 49- `
# A prejmenuju:
for i in $SEZNAM; do	
	j=`echo  $i | sed "s/?/%3F/"`
	if  [ "$i" != "$j" ]; then
		rm "$i" "$j";
	fi
done
Ale to nefunguje, prikaz cp to dokonce ani neumi zkopirovat. At koukam do manualu jak koukam, nic me nenapada.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.4.2004 12:27 honza
Rozbalit Rozbalit vše Re: Hromadné prejmenovaní
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prikaz cp tedy normalne kopiruje, ale soubory s otaznickama preskakuje (vynecha). A pokud akci udelam na zdroji, tak mi jej smaze. A musim stahovat znova.
21.4.2004 12:44 Yeti
Rozbalit Rozbalit vše Re: Hromadné prejmenovaní
On nic nepřeskakuje. Otazník (stejně jako třeba hvězdičku) shell expanduje. cp dostane už expadnované argumenty -- a pak se dějí věci...

cp jde nejspíš vyřešit tiriválně, prostě nepiš cp -r adresář/* někam, ale jen cp -r adresář někam.

Přejmenování bych udělal perlem (viz i sousední thread ,Skript v Unixu`)
ls|perl -nle '($f=$_)=~s/\?/\%3E/g; rename $_,$f if $f ne $_;'
21.4.2004 12:50 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Hromadné prejmenovaní
Použít rename 's/\?/\%3E/g' *\?* je o něco přehlednější než ten perl :-) (ne že by tohle stejně nakonec perl nezavolalo :-))
21.4.2004 13:00 Yeti
Rozbalit Rozbalit vše Re: Hromadné prejmenovaní
Jo, já už jsem byl tak zblbý z toho ,skript v Unixu`, tady samozřejmě stačí rename.

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.