[FreeBSD] sed
Zahemszky Gábor
Gabor at Zahemszky.HU
2002. Júl. 22., H, 17:01:31 CEST
On Mon, Jul 22, 2002 at 03:41:27PM +0200, Gabor.Zelenak at hungarocontrol.hu wrote:
> hi,
>
> sed 's/^\(.\)\(.^\)$\{0\}/\1/'
>
> kinagyitva...
>
> .. | sed ' s / ^ \ ( . \ ) \ ( . ^ \ ) $ \ { 0 \ } / \ 1 / '
Eloszor bocsanatot akartam kerni, amiert elgepeltem, de kerj bocsanatot Te!
Elmagyaraznad?
> .. | sed ' s / ^
soreleje - ertem
> .. | sed ' s / ^ \ ( . \ )
megjegyezzuk az elso karaktert a sor elejen - ezt is ertem
> .. | sed ' s / ^ \ ( . \ ) \ ( . ^ \ )
a megjegyzett sor eleji elso karakter utan megjegyezzuk a kovetkezo,
( <tetszoleges karakter> utana egy ^ ) kombinaciot - NEM ertem, mi van, ha
nem igy nez ki?
> .. | sed ' s / ^ \ ( . \ ) \ ( . ^ \ ) $
mivel minta _kozben_, es nem a _vegen_ vagyunk, ez egy kozonseges $-jel -
megint NEM ertem, mert mi van, ha nincs a szovegben
> .. | sed ' s / ^ \ ( . \ ) \ ( . ^ \ ) $ \ { 0 \ } /
a $-jel kotelezoen, es pontosan 0-szor szerepel, es lezarjuk a mintat.
- ertem, bar nekem egyszerubbnek tunik nem leirni a $-t, mint ezzel az
eszement modszerrel jelezni, hogy nincs :-)
> .. | sed ' s / ^ \ ( . \ ) \ ( . ^ \ ) $ \ { 0 \ } / \ 1 / '
Keszen vagyunk, kicsereljuk az izet a megjegyzett elso mintara illeszkedore,
ami az elso karakter volt.
> .. | sed ' s / ^ \ ( . \ ) \ ( . ^ \ ) $ \ { 0 \ } / \ 1 / '
Nem kotekedni, hanem tanulni akarok: en ezt most az aktualisan rendelkezesemre
allo FreeBSD-4.6R-en kiprobaltam, az alapban adott sh-ban, az alap sed-del,
es baromira nem jott ossze. Neked ez melyik sed-del, milyen oprenceren
adja a kivant eredmenyt?
Ime a log:
$ echo 12345 |sed 's/^\(.\)\(.^\)$\{0\}/\1/'
12345
$
Zahy < Gabor at Zahemszky dot HU >
Ui: Legnagyobb sajnalatomra reggel egy hetig eltunok gepkozelbol, ugyhogy
a keson jovo anyazasokra majd csak a jovo heten tudok valaszolni :-))
--
#!/bin/ksh
Z='21N16I25C25E30, 40M30E33E25T15U!' ;IFS=' ABCDEFGHIJKLMNOPQRSTUVWXYZ ';set $Z ;for i { [[ $i = ? ]]&&print $i&&break;[[ $i = ??? ]]&&j=$i&&i=${i%?};typeset -i40 i=8#$i;print -n ${i#???};[[ "$j" = ??? ]]&&print -n "${j#??} "&&j=;typeset +i i;};IFS=' 0123456789 ';set $Z;for i { [[ $i = , ]]&&i=2;[[ $i = ?? ]]||typeset -l i;j="$j $i";typeset +l i;};print "$j"
További információk a(z) BSD levelezőlistáról