У меня есть команда, которая выводит кучу данных, но мне нужны только две строки. Grep не работает, потому что строки, которые мне нужны, не находятся рядом друг с другом. Кажется, я не могу понять sed ...
Помогите, пожалуйста. :)
Пример вывода:
Schedule:
blabla:
blabla:
blabla:
blabla:
blabla:
blabla:
Something Level:
blabla:
blabla:
blabla:
Мне нужны эти строки:
Schedule:
Something Level:
Этот вывод повторяется через разные серверы, и результат не тот. Поэтому мне нужно снова и снова искать образец из двух вещей.
Любой из них будет работать, выберите свой любимый
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"'
Будьте осторожны, сопоставляя пробелы на последнем.
Просто используйте grep -v
(инвертировать совпадение) и -E
(Расширенное регулярное выражение) параметры:
$ grep -vE "Schedule:|Something Level:" filename