首页 > 解决方案 > 打印行号的行范围

问题描述

打印一系列行的答案已经结束。

sed -n '10,20p' <file>

打印 的第 10 到 20 行file。打印与模式匹配的行号的答案也已经结束:

sed -n '/pattern/=;p;' <file>

我如何将两者结合起来?我想打印第 170 到 201 行,并且我想用 sed 来识别我正在打印的行号。

标签: sed

解决方案


这对我有用。

示例文件

first
second
third
fourth
fifth

命令

cat sample.txt | sed '2,4{=;p}'

输出

2
second
3
third
4
fourth

-

要分隔字段并在一行中显示:

cat sample.txt | sed '2,4{=;p}' | sed 'Ns/\n/ /g'

创建以下输出:

2 second
3 third
4 fourth

推荐阅读