我有一个大语料库,在句子级别进行分段。这意味着每一行包含一个句子。其中一些行以句号结束,有些则不然。 我正在寻找一种有效的方法来在不以句号结尾的行末尾添加句号。例如,受益于 sed 或 awk 来完成此任务的 shell 脚本。
最佳答案
Sed 可能是最简单的方法:
$ 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.
关于shell - linux shell - 在语料库中向不以句号结尾的行末尾添加句号(句号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15904736/