linux - 在文本文件文件中搜索数字并指定范围和长度 Grep

标签 linux terminal grep cat

所以我一直在努力解决这个问题,但始终无法解决。

目的是过滤文本文件中的所有行,只显示超过4850点且最大700,000的行。

我目前最好的命令是:

grep -E '48[1-9]{2}' "文件名">> 文件

这只会检索点数为 48__ 的帐户以及所有无用的内容,例如包含此组合的客户用户名,例如 loggz314895。

这种方法将永远耗时,因为范围可以从 4850 - 700K 点,一次做一个将永远耗时,并过滤掉包含的垃圾。

我觉得这将是一个简单的命令,但我无法理解它。如果你们中的一位巫师能帮助我,我将不胜感激。如果您也能打破命令的每个部分所做的事情,那将非常有帮助。

再次感谢。

这是一个示例:(出于隐私原因进行了编辑)。

loggz@loggz1.com,userid 9826135802015973221 积分1685,新loggz
时间 111.111.111

loggz@loggz1.com,userid 9826135802015973221 积分1685,新loggz
时间 111.111.111

loggz@loggz1.com,userid 9826135802015973221 积分1685,新loggz
时间 111.111.111

没有每个用户和时间之间的空行。

没有换行符的预期输出:

loggz@loggz1.com,积分 1685,

loggz@loggz1.com,积分 1685,

loggz@loggz1.com,积分 1685,

最佳答案

要过滤列并进行比较,请使用 awk

awk '4850 <= $5 && $5 <= 700000'

@编辑

awk '{ if (4850 <= $5 && $5 <= 700000) { print $1,$5; } }`

关于linux - 在文本文件文件中搜索数字并指定范围和长度 Grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53163745/

相关文章:

linux - 刷新与 inode 关联的页面缓存

linux - 如何使用 upstart 启动具有实时优先级 (jackd) 的进程?

regex - 将文件夹中的所有图像移动到子文件夹,并将文本文件中对这些图像的所有引用更新到它们的新位置?

ruby - 从 shell 脚本中执行 ruby​​ 文件失败

linux - 我必须只获取文本文件中包含另一个目录中文件的文件名的那些行

regex - 如何使用 grep 和正则表达式从字符串中提取数字

c++ - 使用cgroup来限制资源

regex - Bash grep -E 正则表达式

linux - 如何在我的终端中默认更改目录? (命令行)

python - 如何在终端中将 Python 2.7 更新到 3