Во-первых, очень грубый пример в perl.
#!/bin/perl
$/='. ';
while (<>) { push(@_, $_) if /^[A-Z]/; }
print $_[rand @_], "\n";
Он не учитывает вопросы, восклицания или цитаты, или проблему Mr. Something
, и не будет разумно форматировать предложения со встроенными символами новой строки.
Существуют и другие проблемы, но, по крайней мере, это должно помочь вам начать, если perl - опция.
Для чистого bash, если это то, что вам нужно, мне придется поискать немного больше.