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

Dotaz: Sed se odmítl spustit

19.4.2011 16:21 DWD | skóre: 18 | blog: papiry
Sed se odmítl spustit
Přečteno: 125×
Odpovědět | Admin
Našel jsem několik starých uložených stránek, které se skládají z hlavního html souboru a ze složky jmenostranky_soubory, ve které jsou doplňující soubory k te stránce. Jenomže tyto staré stránky jsem měl uložené dost idiotsky, protože jsem tenkrát volil názvy, které obsahují taky mezery, háčky, dlouhé písmena a podobně; dnes už takové blbé názvy nepoužívám, ale tady to jsou staré stránky z doby, kdy jsem ještě používal v názvech nevhodné znaky. Rozhodl jsem se chybu napravit. Všechny uložené stránky jsem přejmenoval tak, aby měly názvy bez nevhodných znaků. Takto jsem opravil názvy hlavních html souborů, i těch doplňkových složek. Jenomže to není všechno. Tím, jak jsem přejmenoval ty doplňkové složky, se samozřejmě naruší načítání těch doplňkových souborů. Proto musím opravit v těch stránkách všechny url, které ukazují na soubory v těch složkách, aby se to obnovilo. Protože je tam těch URLů hodně, několik desítek, tak proto, abych se nenadřel, používám na tu opravu příkaz sed. Zadám:
sed -i 's/blbyřetězec_soubory/dobryřetězec_soubory/g' nazevstranky
Než ho zadám, zobrazím si zdrojový kód te stránky, abych si ten "blbýřetězec" zjistil, sestavím celý příkaz a už ho spustím a stránka včetně načítání doplňkových souborů znovu funguje. Všechny stránky mi takto šly opravit, až na jednu a nevím si s tím rady. Ukazuji příkaz, který se mi odmítl splnit a co mi odpoví:
sed -i 'p%C5%99eklad%20zdrojov%C3%BDch%20k%C3%B3d%C5%AF_soubory/preklad-zdrojovych-kodu_soubory/g' preklad-zdrojovych-kodu
sed: -e výraz #1, znak 2: extra characters after command
Ale nemůže být problém v tom, že řetězec obsahuje procenta, protože v ostatních stránkách ty řetězce taky obsahovaly procenta a neodmítal se mi sed spustit.
Jsem kretén, který ví lautr hovno o Linuxu a o počítačích vůbec.

Řešení dotazu:


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

Odpovědi

19.4.2011 16:28 mfranc
Rozbalit Rozbalit vše Re: Sed se odmítl spustit
Odpovědět | | Sbalit | Link | Blokovat | Admin
s/sed -i 'p/sed -i 's\/p/
Řešení 1× (DWD (tazatel))
19.4.2011 16:29 ams
Rozbalit Rozbalit vše Re: Sed se odmítl spustit
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tady vam chybi s/ na zacatku. Sed pak vyhodnoti 'p' ze slova 'preklad' jako povel 'print' a ocekava po nem strednik, ale vidi %. Na to se prave stezuje v chybovem hlaseni.

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.