使用 bash 将文本分解为句子



句子是以句点(.)、感叹号(!)或疑问句(?)结尾的句子。我试过了

tr 'n' ' ' <  input | sed -e 's/[.] s*/. \n/g'

我看到n添加到我的文件中,但该行并没有真正在那里中断。

我在Mac OS X Mavericks上使用bash 3.2版本。

看看这是否有效。( '\012' 是 tr 命令理解的新行字符,您将其替换为空格,然后最后使用 sed "捕获"句号/点 .、感叹号 !,或问号 ? 字符使用 ( 和 ),并且任何字符将可用于 \1,之后您希望 为 sed 换行。 我在以下示例中使用的 sed 边界字符是 #

tr '12' ' ' < someInputFile.txt | sed "s#([.?!])#1n#g"

最新更新