伙计们,我有一个带有此方案的文本文件(只有原始 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/