[英]How to extract a sentence from a text file in bash?
我有一本書為文本格式。 我使用pdftotext從pdf轉換而成。 我想從文件中提取一個隨機句子。 請記住,句子在行尾可能會有一個返回字符。 所以我想找到一種方法來提醒下一行的句子。 所以我想問題是要開始句子的開頭。 通常是大寫字母。 “ ^ [AZ]”,然后將所有內容移至下一個'。 我已經嘗試過類似的東西
grep "^[A-Z].*.$" text.txt
但這不起作用。 還嘗試使用IFS並分配“。” 作為分隔符。 但我正在將完整文件打印到屏幕上。 如果我可以每行打印完整的句子,這將很有幫助。
IFS=.
while read sentence;
do
echo $sentence
done < the-prince.txt
首先,在perl中一個非常粗糙的例子。
#!/bin/perl
$/='. ';
while (<>) { push(@_, $_) if /^[A-Z]/; }
print $_[rand @_], "\n";
它既不考慮問題,感嘆號或引號,也不考慮Mr. Something
問題,也不會用嵌入的換行符智能地格式化句子。
還有其他問題,但是如果選擇perl,這至少應該可以幫助您入門。
對於純bash,如果這是您所需要的,我將不得不多看一些。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.