Grep characters before and after match?

bash, grep

Solution

3 characters before and 4 characters after

$> echo "some123_string_and_another" | grep -o -P '.{0,3}string.{0,4}'
23_string_and

Problem

Using this: ``` grep -A1 -B1 "test_pattern" file ``` will produce one line before and after the matched pattern in the file. Is there a way to display not lines but a specified number of characters? The lines in my file are pretty big so I am not interested in printing the entire line but rather only observe the match in context. Any suggestions on how to do this?

Original source

Related problems