假设您正在搜索文件 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' {} \;
若希望匹配行前后各 5 行,可以使用 -C5 替代 -B2 -A5。