如何打印特定范围的行并使用 sed 或 awk 枚举它们
How to print a specific range of lines and enumerate them with sed or 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
谢谢!
cat youdatafile | awk '(NR>=4 && NR<=9) {print([=10=])}'| awk '{print(NR ". " [=10=])}'
或不久
awk 'BEGIN {n=1} (NR>=4 && NR<=9) {print(n ". " [=11=]); n++}' yourdatafile
使用范围内的关键字:
$ awk '/LION/,/WOLF/{print ++c,[=10=]}' file
输出:
1 LION
2 MOUSE
3 MONKEY
4 SNAKE
5 PANDA
6 WOLF
或使用记录编号:
$ awk 'NR==4,NR==9{print ++c,[=12=]}' file
我想知道如何使用 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
谢谢!
cat youdatafile | awk '(NR>=4 && NR<=9) {print([=10=])}'| awk '{print(NR ". " [=10=])}'
或不久
awk 'BEGIN {n=1} (NR>=4 && NR<=9) {print(n ". " [=11=]); n++}' yourdatafile
使用范围内的关键字:
$ awk '/LION/,/WOLF/{print ++c,[=10=]}' file
输出:
1 LION
2 MOUSE
3 MONKEY
4 SNAKE
5 PANDA
6 WOLF
或使用记录编号:
$ awk 'NR==4,NR==9{print ++c,[=12=]}' file