[FreeBSD] sed
Zahemszky Gábor
Gabor at Zahemszky.HU
2002. Júl. 22., H, 15:09:09 CEST
On Mon, Jul 22, 2002 at 02:29:38PM +0200, Bacsek Lajos wrote:
> Sziasztok,
> meg kene oldanom, hogy egy szo elso karakteret kapjam meg.
>
> Azt sikerult is megoldani, hogy az elso kivetelevel mindet megkapom:
> echo '12345' | sed -E 's/^.//'
echo '12345' | sed -e 's/^\(.\).*$/\1/'
Az a nyavalyas \( es \) azt jelenti: jegyezzuk meg ami kozben van, a .*$
ugyebar a maradek a vegeig, no tehat az elejen az elso (megjegyezzuk),
utana a maradek, es ezt lecsereljuk a megjegyzett elsore. (Megjegyzes:
nem jo a -E, mert extended kifejezesben nem hasznalhato a \1 - ill. a \( \)
- de jelen pillanatban asszem ez nem is kell :-)
Vagy helyette a nagyjabol ugyanigy mukodo expr:
expr 12345 : '\(.\)'
Bye-bye
Zahy < Gabor at Zahemszky dot HU >
--
#!/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