Не с grep
но необходимо смочь сделать это с awk
или sed
:
sed -n '/key1/,/)/p' file.txt
Если больше нет уровней вложенных массивов, то это должно работать:
awk '/key1/,/\)/' my_input_file
В основном это печатает от key1 до следующей закрывающей скобки).
Если это - постоянное число объектов в массиве, можно использовать -A
(строки после переключателя) с grep:
grep -A4 'key1' myfile
-A NUM, --after-context=NUM
Print NUM lines of trailing context after matching lines.
Places a line containing a group separator (--) between
contiguous groups of matches. With the -o or --only-matching
option, this has no effect and a warning is given.
Существует также -B
поскольку перед строками также.