返回整个句子而不仅仅是行

时间:2011-06-13 09:52:56

标签: sed awk grep

grep显示找到搜索词的行。我有一个文本文件,其中没有换行符,整个文本在一行。有没有办法指示grep显示左右内容(就像-after,-before)?

我希望看到整个句子。两个完整的停止之间的话。 (即找到单词的句子)

3 个答案:

答案 0 :(得分:2)

将awk与句点作为记录分隔符并过滤所需模式的记录:

awk -v RS="." '/pattern/' file

这是简写:

awk -v RS="." '/pattern/{print}' file

答案 1 :(得分:1)

您可以暂时将文字分成几行:

cat text.txt | sed 's/\./.\n/g' | grep pattern

答案 2 :(得分:0)

试试这个:

grep -o '[^.]*word[^.]*\.' file