2
我有一个大的语料库,它在语句级别进行了分段。这意味着每行包含一个句子。其中一些行以句号结束,有些则不行。 我正在寻找一种有效的方法来将句号添加到不以一个结尾的行末尾。例如一个可以从sed或awk中获益的shell脚本来完成这个任务。linux shell - 在语料库中添加句号(句点)以句号结束的句号结尾
我有一个大的语料库,它在语句级别进行了分段。这意味着每行包含一个句子。其中一些行以句号结束,有些则不行。 我正在寻找一种有效的方法来将句号添加到不以一个结尾的行末尾。例如一个可以从sed或awk中获益的shell脚本来完成这个任务。linux shell - 在语料库中添加句号(句点)以句号结束的句号结尾
桑达可能是这个最简单的方法:
$ cat file
sentence one
sentence two.
sentence three
$ sed 's/[^.]$/&./' file
sentence one.
sentence two.
sentence three.
在不使用周期结束[^.]$
更换匹配的最后一个字符后面跟一个句&.
的最后一个字符线。您应该留意可能包含句点的尾部空格作为最后一个可行字符。
编辑:
随着awk
我会做:
$ awk '/[^.]$/{$(NF+1)="."}1' FS= OFS= file
sentence one.
sentence two.
sentence three.
我可以挑战你使用awk做呢? :D – fedorqui 2013-04-09 14:47:44
@fedorqui没有真正的挑战哈哈:P – 2013-04-09 14:51:25
另外一个sed-ish awk:'awk'{sub(/[^.]$/,“&。”,$ 0);打印}'文件' – progo 2013-04-09 14:53:30