Как в линукс вывести строку из файла и еще 5 строк после нее

Допустим, вы ищете среди файлов setenv.sh и setenv.sh.tpl строку, содержащую

Djava.rmi.server.hostname

и вам нужно вывести ее и еще 5 строк после. Тогда используйте:

find . -type f -name 'setenv.sh*' -exec   grep -I -nH -A5 'Djava\.rmi\.server\.hostname' {} \;

здесь -I игнорирует обход бинарных файлов.

Если нужно добавить еще 2 строки выше, то:

find . -type f -name 'setenv.sh*' -exec   grep -I -nH -B2 -A5 'Djava\.rmi\.server\.hostname' {} \;

Вместо -B2 -A5 можно использовать -C5, если хотите по 5 строк и до, и после.