|
发表于 2013-4-11 20:56:44
|
显示全部楼层
本帖最后由 惟吾无为 于 2013-4-13 11:41 编辑
* S7 |+ i- ^" M P. Y) p8 {5 ]1 J& r! o
& C5 g8 ?" g9 ~+ p2 f效果- froms@froms-HP-g4:/dev/shm$ cat o # 你的原始文本
* U+ B* f5 U7 G2 r# J( C
, ^0 C7 V/ _- X, c, r* c- </>
/ o- ]) t, z, {% K - book
# X# d+ m$ `. f( f J) u3 ^' G - 1 (C)<br>
1 |; Y0 \2 W1 p% y n' t3 N - a. 书,书籍; 著作<br>
( d( |( P3 K9 Q! U. d/ ?1 q' i - read [write] a ~<br>
$ ?3 {7 ^" U& i/ a, { - 读 [著] 书<br>
6 t# k4 a; {9 S/ c6 K - → closed book,open book.<br>5 v! f* }1 Q" S/ c9 Y; W3 J% E
- b. 知识 [教训] 的泉源, (…之) 书<br>. Q; |& L( U# P x2 c* M0 n `/ k! |
- the ~ of Nature <br>* [" n2 h, D; F/ N a% y
- 自然之书<br>
6 h/ e2 C3 M1 j1 F( r - </>
7 U" W- k& Z* m$ V* J1 Z$ ?9 C - bag4 ]7 Z, z3 W7 I
- 1 (C)<br>
. S3 s/ \1 U6 w5 t9 M: C - a. 袋<br>
0 b7 P( |3 P; ^5 l - a paper ~ <br>
% g/ G8 T8 d0 ?0 o5 M% O - 纸袋<br> m( P; {2 q% {* u/ t
- → carry bag,doggie bag,tote bag.<br>
) g2 T ~) J! y) j - b. 猎物袋<br>
5 ] h& o0 `1 Q3 P; `6 Y" y - 2 (C)<br>
+ O1 E: s( l7 o5 A - a. 提袋; 旅行袋,提包<br>" l1 l0 m3 H$ ~" p5 X9 F
- a traveling ~ <br>
. h* Z' |6 n6 P6 l6 c/ ` - 旅行袋<br>
" \& u4 Q1 W$ m: A; I5 n- | - </>/ S* h, Q" c! \* e& Q- ~0 ~- k6 P
- froms@froms-HP-g4:/dev/shm$ gawk 'BEGIN{2 N( G+ f* ~4 J% e) s& \4 ^; m
- > # 记录分隔符。记录可以理解为一大段要处理的内容,这个就是段落分隔符了。2 p2 l$ N. |: Y0 Z, V- }" P
- > RS="\r\n</>\r\n"
# l3 V5 w+ m2 K/ T @3 N7 V- X - > # 字段分割符。把字段理解为一个句子。此时正好也是换行符。
6 {6 {3 d& d( Y [, l' W; x - > FS="\r\n"6 l, O4 l6 k6 T0 H, ~& o
- > }{/ C! a& ^! ]1 A1 Y) \# N8 R
- > # 你要把~替换成词条名字。因为文本分割后,标题是第一个字段。; u6 i9 i7 i& H+ K
- > gsub("~",$1)( Z" q P2 W: j2 l6 p
- > # \n([a-zA-Z][ -~]*)<[bB][Rr]>\r\n 匹配以字母开头的,以<br>结束的,没有中文的 行。
% {, n3 c( Z3 W4 z - > # ([^\r\n]+)就是后面跟着的一行了,不限中英文。
* U* r$ O. N! v5 q, R, c6 F - > # \\1 \\2就是前面两个()里的东西了。 "g"表示全部替换。, [. Z; l" Q; X: i
- > $0=gensub("\n([a-zA-Z][ -~]*)<[bB][Rr]>\r\n([^\r\n]+)","\n\\1 \\2","g")
. C/ V' f( }( Q- r9 r, Q - > # 把结果输出出来。如果想把结果写入文件new.txt,把下面一行的#号去掉。
" Z7 J! B. d2 O0 H+ [7 k& Q% c - > # printf("%s%s",$0,RS) > "new.txt", C6 ^5 p3 ? T5 ~% T/ k) |
- > printf("%s%s",$0,RS)
, ^ }/ K" L( p+ U: N) z - > }' o # 粘贴代码。回车,结果如下。
1 T) O3 [7 l6 y, l8 r
% `; U! P1 {# w- </>
+ ^# l9 Y( u" L) s; f% z! B - book! T( y! f6 X. @( `, S0 c9 _
- 1 (C)<br>9 b: j9 z! m. {$ B2 b/ p; e
- a. 书,书籍; 著作<br>
% u7 l) D( O0 `; Z; C - read [write] a book 读 [著] 书<br>
) G, ?; `( o$ u4 r - → closed book,open book.<br>
' q G( e( |' \: O2 x$ f - b. 知识 [教训] 的泉源, (…之) 书<br>% U- v0 E% s5 z N+ ?' t
- the book of Nature 自然之书<br>+ N, I' ?% d" R" v
- </>4 L: U- z9 s* Z; [
- bag1 W7 E5 v7 }+ }" w
- 1 (C)<br>
+ N9 V5 b* ^4 K9 T/ k - a. 袋<br>" H' c% U0 ~: [3 A0 T9 i
- a paper bag 纸袋<br>1 i3 E0 |5 N2 y- g
- → carry bag,doggie bag,tote bag.<br>
" X+ z2 P8 a% m. W4 Q! ? - b. 猎物袋<br>9 K# l# \* N- b- K' O
- 2 (C)<br>
% ^, H u5 b% o K* F7 s1 d4 B3 g - a. 提袋; 旅行袋,提包<br>* i4 _; U# Z9 \1 t# `
- a traveling bag 旅行袋<br>/ {9 p1 @# \1 q
- </>
9 X7 j4 |. V% i$ z* r
复制代码 |
|