我有一个很大的语料库,它在句子级别被分割。这意味着每一行包含一个句子。其中一些行以句号(句点)结尾,有些则没有。我正在寻找一种有效的方法来在不以一个结尾的行的末尾添加句号。例如,受益于 sed 或 awk 来执行此任务的 shell 脚本。
问问题
2753 次
1 回答
4
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.
于 2013-04-09T14:36:04.223 回答