在Linux中如何输出某一行及其后5行

假设您正在搜索文件 setenv.shsetenv.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