Portál AbcLinuxu, 16. července 2025 19:22


Dotaz: sed - oddělení výrazů

25.7.2007 09:20 David | skóre: 21 | Praha
sed - oddělení výrazů
Přečteno: 394×
Odpovědět | Admin
Ahoj, potreboval bych, aby sed udelal nasledujici nahrazeni
             sed  "s/\@LOG_FILE\@//home/www//"  
Problem je v tom, ze /home/www je obsahem promenne VAR, tedy vyraz ve skutecnosti vypada takto
             sed  "s/\@LOG_FILE\@/${VAR}/"  
no a sed skonci s chybou
sed: -e expression #1, char 17: unknown option to `s'
sed: -e expression #1, char 17: unknown option to `s'
Problem bude zcela jiste v tech lomitkach, to prvni vyescapuju, ale co s tim druhym? Da se to nejak vyresit?
Diky, David
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.7.2007 09:37 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: sed
Odpovědět | | Sbalit | Link | Blokovat | Admin

Stačí zvolit jiný oddělovač částí příkazu - takhle máš nastavené lomítko, které se pochopitelně vyskytuje i v cestě - takže zkus třeba:

sed  "s|\@LOG_FILE\@|${VAR}|"

Nebo místo svislítka použij jiný znak, který se v cestě nevyskytne (resp. pouze v napsaném vzoru).

- Vojta

I am always ready to learn although I do not always like to be taught. (W. Churchill)
25.7.2007 09:42 David | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: sed
Funguje! Tisicere diky :]

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.