伙计们,我有一个带有此方案的文本文件(只有原始 20k 行的几行):

Skeet: 120  Mark: 3636  Tatos: 502
Skeet: 190  Mark: 764  Tatos: 468
Skeet: 210  Mark: 2106  Tatos: 302
Skeet: 305  Mark: 510  Tatos: 1900

我想要做的是只打印“Skeet”值从 150 到 240 的行。请记住,行超过 10k,因此需要将其插入循环以确保它读取每一行。
所需的输出:
Skeet: 190  Mark: 764  Tatos: 468
Skeet: 210  Mark: 2106  Tatos: 302

最佳答案

awk '{if ($2 >= 150 && $2 <= 240) print}' file.txt

要通过 bash 变量设置限制,您可以执行类似于@RavinderSingh13 指出的操作:
awk -v start=$foo -v end=$oof '{if ($2 >= start && $2 <= end) print}' file.txt

关于bash - 只获取值在 bash 范围内的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48810691/

10-12 17:33