linux - aix/ksh shell 前后的 grep 行

标签 linux shell unix ksh aix

我想提取匹配模式前后的行。

例如:如果文件内容如下

absbasdakjkglksagjgj
sajlkgsgjlskjlasj
hello
lkgjkdsfjlkjsgklks
klgdsgklsdgkldskgdsg

我需要在'hello'前后找到hello和显示行

输出应该是

sajlkgsgjlskjlasj
hello
lkgjkdsfjlkjsgklks

这对于 GNU 是可能的,但我需要一种在没有安装 GNU 的 AIX/KSH SHELL 中工作的方法。

最佳答案

sed -n '/hello/{x;G;N;p;};h' filename

关于linux - aix/ksh shell 前后的 grep 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011271/

相关文章:

shell - “\a”在Linux的shell脚本中的shell替换中做了什么?

linux - 文件名操作

linux - 在父进程 : SIGCHLD caught by ps 中执行

linux - Unix cat 命令问题

linux - 如何在 Linux 中更改一组组 ID

c++ - 如何使用 dlopen 检查共享库是否加载成功或未加载?

linux - 为什么在添加IPv4地址时linux ip命令不接受主机名

ubuntu 14.04 LTS 5.5 和 7.1 之间的 PHP 版本冲突

shell - 检查系统上某个根CA是否受信任

java - 我应该使用 Runtime.exec() 来调用 bash shell 脚本吗?