sed

Antonios-Kornilios Kourtis el99027 at mail.ntua.gr
Sat Jul 31 14:25:18 EEST 2004


On Fri, Jul 30, 2004 at 01:29:44PM +0300, Vasilis Vasaitis wrote:
> On Wed, Jul 28, 2004 at 02:35:46AM +0300, Antonios-Kornilios Kourtis wrote:
> > $ sed -n -e 's/[^lala]/\n/pg' < foo | sed -e '/^$/d'

>   Μπα, αυτό που δίνεις είναι πολύ αφελές, και γενικά δε δουλεύει.
> Είσαι σίγουρος ότι καταλαβαίνεις πώς δουλεύουν τα character classes;
> Π.χ., δοκίμασε να του ταΐσεις τα παρακάτω:
> 

MPLERF!!!

exeis dikio :-)

`[LIST]'
`[^LIST]'
     Matches any single character in LIST: for example, `[aeiou]'
     matches all vowels.  A list may include sequences like
     `CHAR1-CHAR2', which matches any character between (inclusive)
     CHAR1 and CHAR2.

     The caret reverses the meaning of the regexp, so that it matches
     any single character NOT in list.  To include `]' in the list,
     make it the first character (after the caret if needed), to
     include `-' in the list, make it the first or last; to include `^'
     put it after the first character.



>   Αυτό που θέλει αυτός που έκανε αρχικά την ερώτηση είναι κάτι τέτοιο:
> 
> #!/bin/sed -f
> s/^lala/&\n/
> t FOUND
> s/lala/\n&/
> D
> : FOUND
> P
> D
> 
>   Αλλά δε μπορώ να καταλάβω γιατί κανείς να παιδεύεται με το sed, όταν
> υπάρχουν πολύ πιο απλοί τρόποι να κάνεις το ίδιο πράμα:
> 
> perl -ne 'print "$1\n" and redo if s/.*?(lala)//'

nai kai gw fan ths perl eimai :-)

-- 
Kornilios Kourtis
"The worst is yet to come"




More information about the Linux-greek-users mailing list