我想转换具有以下结构的输入文本文件:
600 NJoussot 38 fr Twitter hn 2015 Taubira huée au festival de Cannes
...
获取TRECTEXT格式,如下所示:
<DOC>
<DOCNO> 600 </DOCNO>
<TEXT> Taubira huée au festival de Cannes. </TEXT>
</DOC>
感谢您的帮助:)
答案 0 :(得分:1)
下面的Perl解决方案打印样本记录。只需将<DATA>
更改为<>
即可从stdin / file中读取。
#!/usr/bin/env perl
use strict;
use warnings;
while (<DATA>) {
my ($docno, $text) = /
\s*(\S+) # first field
(?:\s+\S+){6}\s* # skip six fields and space after field 7
(.*)
/x;
print <<"TRECTEXT"
<DOC>
<DOCNO> $docno </DOCNO>
<TEXT> $text </TEXT>
</DOC>
TRECTEXT
}
__DATA__
600 NJoussot 38 fr Twitter hn 2015 Taubira huée au festival de Cannes