首页 > 解决方案 > 如何打印特定范围的行并使用 sed 或 awk 枚举它们

问题描述

我想知道如何使用 sed 或 awk 打印特定范围的行并像这样枚举它们

HORSE
CAT
DOG
LION
MOUSE
MONKEY
SNAKE
PANDA
WOLF
TIGER

所以第 4-9 行的输出看起来像这样

1. LION
2. MOUSE
3. MONKEY
4. SNAKE
5. PANDA
6. WOLF

谢谢!

标签: bashawksedprintfcat

解决方案


使用范围内的关键字:

$ awk '/LION/,/WOLF/{print ++c,$0}' file

输出:

1 LION
2 MOUSE
3 MONKEY
4 SNAKE
5 PANDA
6 WOLF

或使用记录号:

$ awk 'NR==4,NR==9{print ++c,$0}' file

推荐阅读