Tag: sed

在句子边界处拆分文本文件

我必须处理一个文本文件(电子书)。 我想处理它,以便每行有一个句子(“换行符分隔文件”,是吗?)。 如何使用sed UNIX实用程序执行此任务? 它是否具有“句子边界”的符号,如“单词边界”的符号(我认为GNU版本具有该符号)。 请注意,句子可以以句点,省略号,问题或感叹号结尾,最后两个组合(例如,?,!,!?,!!!!!都是有效的“句子终结符”)。 输入文件的格式使得某些句子包含必须删除的换行符。 我想过像s/…|. |[!?]+ |/\n/g这样s/…|. |[!?]+ |/\n/g剧本s/…|. |[!?]+ |/\n/g s/…|. |[!?]+ |/\n/g (未转义为更好的阅读)。 但它并没有从句子中删除换行符。 在C#怎么样? 如果我使用sed中的正则表达式会更快吗? (我想不是)。 还有其他更快的方法吗? 无论哪种方式(sed或C#)都没问题。 谢谢。