sed 匹配后打印 N 行
sed print N lines after match
我有一个包含这些行的文件:
some junk
in here
log number 1
line1, data, here
line2,data,here
line3,data,here
and so on
some other
junk
log number 2
line one, some,data
line two, some,data
line three, blablabla
我想在 n-th 匹配 log number ...
行之后匹配并打印大约一百行。
有效,但我不想在我的 sed 命令中输入 100 Ns。
另外 /log.*\n(.*\n){2}/gm
(匹配后打印 2 行)在 regex101 上有效,但在我的终端上无效(sed 与 \n
不匹配)。
我使用 arch linux 和 GNU sed 4.8 版。
这样的东西行不通吗?
$ sed -n '/log.*1/,+4p' file
log number 1
line1, data, here
line2,data,here
line3,data,here
and so on
如果你只需要在匹配后打印 100 行,这应该是你所需要的。
$ sed -n '/log.*1/,+100p' file
我有一个包含这些行的文件:
some junk
in here
log number 1
line1, data, here
line2,data,here
line3,data,here
and so on
some other
junk
log number 2
line one, some,data
line two, some,data
line three, blablabla
我想在 n-th 匹配 log number ...
行之后匹配并打印大约一百行。
另外 /log.*\n(.*\n){2}/gm
(匹配后打印 2 行)在 regex101 上有效,但在我的终端上无效(sed 与 \n
不匹配)。
我使用 arch linux 和 GNU sed 4.8 版。
这样的东西行不通吗?
$ sed -n '/log.*1/,+4p' file
log number 1
line1, data, here
line2,data,here
line3,data,here
and so on
如果你只需要在匹配后打印 100 行,这应该是你所需要的。
$ sed -n '/log.*1/,+100p' file