2011-06-13 94 views
2

grep显示找到搜索词的行。我有一个文本文件,没有换行符,整个文本都在一行上。有没有什么方法可以指示grep显示左右的内容(就像-after,-before一样)?返回整个句子,而不仅仅是行

我希望看到整个句子。 2个完整的词之间的词。 (即在单词的那个句子)

回答

1

可以暂时砍文成线:

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

用AWK与周期为记录分隔符,并在需要的图案筛选记录:

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

这是简写:

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

试试这个:

grep -o '[^.]*word[^.]*\.' file 
相关问题