我想从程序的输出中滤出两行

我有一个输出一堆数据的命令,但我只需要两行。 Grep不起作用,因为我想要的行不是紧挨着。 我似乎无法弄清楚…

请帮助。 🙂

示例输出:

Schedule: blabla: blabla: blabla: blabla: blabla: blabla: Something Level: blabla: blabla: blabla: 

我想要这些行:

 Schedule: Something Level: 

这个输出通过不同的服务器重复,输出是不一样的。 所以我需要一遍又一遍地search一个两样东西的模式。

只要使用grep的-v (反向匹配)和-E (扩展正则expression式)选项:

 $ grep -vE "Schedule:|Something Level:" filename 

任何这些将工作,挑你最喜欢的

 grep 'Schedule:\|Something Level:' grep -E 'Schedule:|Something Level:' sed '/Schedule:\|Something Level:/!d' sed -r '/Schedule:|Something Level:/!d' sed -n '/Schedule:\|Something Level:/p' sed -rn '/Schedule:|Something Level:/p' awk '/Schedule:/ || /Something Level:/' awk -F: '$1 == "Schedule" || $1 == " Something Level"' 

必须小心地匹配最后一个空格。