我有一个大的语料库,在句子级别进行细分。这意味着每行包含一个句子。其中一些行以句号结束(句号),有些则不行。 我正在寻找一种有效的方法来添加句号结尾,而不是以一个结尾。例如,受益于sed或awk来执行此任务的shell脚本。
答案 0 :(得分:3)
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.