首页 > 解决方案 > Grep 获取范围内的数字

问题描述

我正在尝试在 csv 文件的第 12 列中显示包含 20-200 范围内的数字的行。但是,我没有得到正确的输入。

我试过这个:

grep -E "^[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([2-9][0-9]|1[0-9][0-9]|200)" file.csv > sc1_d.csv

我做错了什么?有什么想法吗?

标签: grep

解决方案


保持简单,只需使用 awk:

awk -F, '(20 <= $12) && ($12 <= 200)' file

如果这不完全符合您的要求,请编辑您的问题以解释这种方式和您自己的尝试“没有得到正确的输入”,并显示简洁、可测试的示例输入和预期输出。


推荐阅读