我在形态上分析了这种形式的文件:
^Thus/Thus[ADV]+ADV$ ^an/an[ART]$ ^agnostic/agnostic[ADJ]+ADJ$
^is/be[V]+V+3sg+PRES$ ^someone/someone[PN]+INDEF$ ^who/who[PN]+WH$
^believes/believe[V]+V+3sg+PRES$ ^that/that[CNJ]+THAT$ ^we/we[PN]+PERS$
^do/do[V]+V+INF$ ^not/not[PART]$ ^and/and[CNJ]+COORD$ ^cannot/*cannot$
^know/know[V]+V$ ^for/for[PRP]$
^prove/prove[V]+V+INF$ ^that/that[CNJ]+THAT$ ^he/he[PN]+PERS$
^doesn/*doesn$^'t/it[PN]+PERS$ ^exist/exist[V]+V+INF$
^I'/i'[V]+V$^ve/ve[V]+V+INF$
^didn/didn[V]+V$^'t/it[PN]+PERS$
^can/can[V]+V+INF$^'t/it[PN]+PERS$
(案例1)大多数单词都得到了正确的分析,例如:
is --> ^is/be[V]+V+3sg+PRES$
(案例2)有些词语无法识别,例如:
cannot --> ^cannot/*cannot$
(案例3)并且所有“连接”的单词(不会,不能......)得到这样的处理:
doesn't --> ^doesn/*doesn$^'t/it[PN]+PERS$
I've --> ^I'/i'[V]+V$^ve/ve[V]+V+INF$
didn't --> ^didn/didn[V]+V$^'t/it[PN]+PERS$
can't --> ^can/can[V]+V+INF$^'t/it[PN]+PERS$
我想创建一个包含以下内容的新文档:
/
和[
之间的字词
^
和/
或*
和$
之间的字^
和{{1}之间开始我大部分时间都会从奇怪的单词中知道它来自哪里...... 所以有些sed awk(我知道的只有两个,如果可能的话会很高兴)脚本,它将所有字符串拆分为分析单元,然后将其作为标准处理Case1。如果字符串包含像Case3这样的单个qoute /
进程,并且它包含类似Case2的星'
。订单很重要,因为有些案例包含*
和*
,因此应该应用Case3。
我完全不知道如何开始这个,所以我没有代码让你开始..
欢迎对Case3提出其他建议。
希望有人可以帮忙!
提前致谢。
修改
所以看起来应该是这样的:
'
答案 0 :(得分:0)
如果您总是选择^
和/
之间的字词:
$ awk 'gsub(/\^|\/[^\$]+\$/,"")' foo
Thus an agnostic
is someone who
believes that we
do not and cannot
know for
prove that he
doesn't exist
I've
didn't
can't
答案 1 :(得分:0)
使用sed,我想你可以这样做:
sed -r "s#[^/]+/\*?(\w+'?)\S*\\$ ?#\1 #g" foo