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