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