我有一个命令可以输出一堆数据,但我只想要两行。Grep 不起作用,因为我想要的行不相邻。我似乎无法弄清楚 sed...
请帮助。 :)
示例输出:
Schedule:
blabla:
blabla:
blabla:
blabla:
blabla:
blabla:
Something Level:
blabla:
blabla:
blabla:
我想要这些行:
Schedule:
Something Level:
这个输出在不同的服务器上重复,并且输出并不相同。所以我需要反复搜索两个事物的模式。
答案1
只需使用 grep 的-v
(反转匹配)和-E
(扩展正则表达式)选项:
$ grep -vE "Schedule:|Something Level:" filename
答案2
这些都可以,选择你最喜欢的
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"'
必须小心匹配最后一个的空格。