Portál AbcLinuxu, 9. května 2024 07:54


Dotaz: sed - náhrada znaku

25.7.2007 09:23 David | skóre: 21 | Praha
sed - náhrada znaku
Přečteno: 706×
Odpovědět | Admin
Ahoj, v promenne PATH je hodnota /home/www nebo /home/www/ jak udelat, aby se pripad cislo dve automaticky prevedl na pripad cislo jedna?
Proste kdyz uzivatel napise (priradi do promenne) /home/www nebo /home/www/, bude vzdy v promenne PATH hodnota /home/www
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:42 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: lehka otazka (mozna na sed)
Odpovědět | | Sbalit | Link | Blokovat | Admin
s|/home/www/|/home/www|

Nebo nechápu nějakou záludnost zadání?
25.7.2007 09:46 David | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: lehka otazka (mozna na sed)
Se stydim..... Samozrejme spravna odpoved, diky.
25.7.2007 09:50 David | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: lehka otazka (mozna na sed)
Mi to nemysli....., to /home/www, popr. /home/www/ je obsahem promenne ktery zada uzivatel, takze dopredu nevime co tam je. Jde proste o to uriznout posledni lomitko, pokud tam je.
David Watzke avatar 25.7.2007 09:49 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: sed - náhrada znaku
Odpovědět | | Sbalit | Link | Blokovat | Admin
PATH=${PATH//\/:/:}
Má to ale side-effect, že když je v PATH cesta /, tak ji to odstraní a zůstanou tam dvě dvojtečky za sebou. To se dá vyřešit následným spuštěním:
PATH=${PATH//::/:\/:}
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 25.7.2007 09:52 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: sed - náhrada znaku
Jinak já jsem počítal se standardním použitím PATH. Pokud ji používáš k něčemu jinému, pak by to bylo:
PATH=${PATH%/}
ale vymysli si jinej název proměnný.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
25.7.2007 09:55 David | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: sed - náhrada znaku
promenna se ve skutecnosti jmenuje VIRTHOME a vytvari ji uzivatel za behu skriptu a potrebuju proste odriznout posledni lomitko, pokud tam je
David Watzke avatar 25.7.2007 09:58 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: sed - náhrada znaku
V takovém případě po získání proměnné spusť
VIRTHOME=${VIRTHOME%/}
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
25.7.2007 09:59 David | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: sed - náhrada znaku
Thx, nebyl by jeste odkaz, kde bych si o tomto "triku" precetl, popr. se rovnou naucil nejake triky navic?
David Watzke avatar 25.7.2007 10:04 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: sed - náhrada znaku
Nerad to dělám, ale man bash :-D Sekce Parameter Expansion.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
25.7.2007 10:47 David | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: sed - náhrada znaku
Diky :), man bash mi uz dlouho nikdo nedoporucil :)

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.