prevod na velka pismena v sed

Zdenek Pytela letty na mrakoplas.phil.muni.cz
Pátek Srpen 13 09:24:51 CEST 1999


Petr Skoda píše:
> Vazeni mam problem, ktery asi resim blbe - berte me prosim shovivave :
> 
> potrebuju prevest v jistem formatovanem textu kombinace malych a velkych
> pismen na sama velka pomoci sed skriptu. V manualu vim jsem nasel pro
> substitucni retezec makro \U az \E - podobne jako prvni zavorkovany vyraz
> je \1 apod.   Je to vsak jiste zrejme rozsireni vi (resp vim).
> 
> Ale ouha sed to nezna ! Man page ani info mi nic nerekly - jsou velmi
> skoupe. znamena to, ze v prostem sedu to proste nejde - ja se vzdy
> domnival, ze se dumi vse co vi interktivne - ale vim je asi mimo tuto
> uvahu ?
> 
> Urcite mi neco uniklo i prostem sedu - poradte mi jak to udelat.
> 
> Podobne potrebuju jisty zkratkovy kod prevest na strukturu , kde jsou na
> predepsane pozici velka a na jine mala pismena  **- tady taky narazim na
> stejny problem - pokud to nepujde sedem - je mozne nejak pustit vim, aby
> se choval jako sed - tj neinteraktivne volano ze skriptu ?
$ man vim
 +{command}

 -c {command}
             {command} will be  executed  after  the  first
             file  has been read.  {command} is interpreted
             as an Ex command.  If the  {command}  contains
             spaces  it  must  be enclosed in double quotes
             (this depends on  the  shell  that  is  used).
             Example: Vim "+set si" main.c
             Note:  You  can  use up to 10 "+" or "-c" com-
             mands.

případně použít autocommands.

> ** ukazka    kod ThArHK6-2mA  je predepsany tvar, misto ThAr muze byt napr
> HeNe ,jine cislo apod - predem nevim co vsechnu - chci jen tuto upravu
> velikosti pismen s pripadnym vypustenim  mezer mezi pismeny.
> 
> (pro zvidave - jedna se o kod pouziteho obloukoveho spektra pro
> (astronomickou) kalibraci spekter - prvni 2 dvouznaky jsou chemicke
> zkratky prvku (material elektrody a plynova napln, HK je duta katoda -
> cislo stupen sedeho filtru a cialo pred mA zhavici proud -- jedna se mi o
> homogenizaci archivu spektrer, kde si kazdy psal kdysi rucne co chtel a
> jak mu vyslo zmacknuti shiftu ci capslocku a popr mezerniku;-)
> (napr HENe Hk6 4ma, ci tH aRhk4 15mA )
	Mnohem jednodušší a přehlednější to bude přes tr nebo celé napsat
v awk, perlu apod.:
... | sed 's/  *//g' |tr '[:upper:]' '[:lower:]'
bude respektovat i češtinu; v sedu použijte funkci y/
... | sed 's/  *//g;y/ABCD/abcd/'

Jinak sedové zdroje najdete na
http://seders.icheme.org/

-- 

--Zdeněk Pytela, <letty na mrakoplas.phil.muni.cz>



Další informace o konferenci Linux