grep与正则表达式裁剪文本

时间:2012-02-28 14:04:16

标签: regex shell grep

我有一个看起来像

的file.txt
dfvdfvdf
lot of stuff I don't care
fdvdegghedc
Run test suite LogicTests
ffdvfvdf
fdvdfvdf
fhtrefg

我想从Run测试套件LogicTests到文件末尾获取所有内容 所以我按照以下方式进行操作

resultCroped=$(grep -E 'Run test suite LogicTests[\n.*]' file.txt)

但这似乎不是很好的正则表达式

帮助请thx

3 个答案:

答案 0 :(得分:3)

sed更适合此类任务:

sed -n '/^Run test suite LogicTests$/,$p' <file>

这将打印从正则表达式匹配到所请求文件末尾的所有行。

答案 1 :(得分:2)

awk变体:

awk '/Run test suite LogicTests/{o=1}o' yourFile

答案 2 :(得分:1)

您可以使用grep -A 1000 'Run test suite LogicTests'之类的东西,它会在您寻找的字符串之后返回1000行。