help me with this sed expression

Zhang Weiwu weiwuzhang at hotmail.com
Mon Jan 5 03:50:35 PST 2004


Hello. I've worked an hour to figure out a serial of sed command to process 
some text (without any luck, you kown I'm kinda newbie). I really 
appreciate your help.

The original text file is in this form -- for each line:
one Chinese word then one or two English word seperated by space.

I wish to change to:
1) target file: one English word, then a space, then a Chinese word 
coorisponding to that English word.
2) if in the original file one Chinese word has more than one English word 
following in the same line, repeat the Chinese word to satisfy 1).

Define: Chinese word = one or more continous bytes of data where each byte 
is greater then 128 in value. (it is true in GB2312 Chinese charset which 
this email is written in.)
Define: English word = one or more continous bytes of [a-z].

Say, for the original file:
===========
Ò»a av
¿É¸è¿ÉÆüaaav
ÎÞ¿É·î¸æaacm
===========
The target file should be:
===========
a Ò»
av Ò»
aaav ¿É¸è¿ÉÆü
aacm ÎÞ¿É·î¸æ
===========

I tried to do things like s/\(.*\)\([a-z]*\)/\2 \1/ but the first \(.*\) is 
too greedy and included the rest [a-z].

Thank you.

_________________________________________________________________
Ãâ·ÑÏÂÔØ MSN Explorer:   http://explorer.msn.com/lccn  



More information about the freebsd-questions mailing list