所以我一直试图永远解决这个问题,无法解决。
目标是过滤文本文件中的所有行,并且仅显示超过4850点且最大为700,000的行。
我目前最好的命令是:
grep -E '48 [1-9] {2}'“文件名” >> 文件
这只会检索点48__的帐户以及所有无用的东西,例如包含此组合的客户用户名,例如loggz314895。
此方法将永久使用,因为范围可以从4850-700K的点开始,一次执行一次将永久使用并过滤掉包含的垃圾。
我感觉它将会是一个简单的命令,但是我无法设法将它包裹住。如果其中一位向导可以帮助我,我将不胜感激。如果您也可以破坏命令的每个部分所做的工作,那将非常有帮助。
再次感谢。
这是一个示例:(出于隐私原因进行了编辑)。
loggz@loggz1.com,用户ID 9826135802015973221点数1685,新loggz
时间111.111.111
loggz@loggz1.com,用户ID 9826135802015973221点数1685,新loggz
时间111.111.111
loggz@loggz1.com,用户ID 9826135802015973221点数1685,新loggz
时间111.111.111
每个用户和时间之间都没有空白行。
没有换行符的预期输出:
loggz@loggz1.com,积分1685,
loggz@loggz1.com,积分1685,
loggz@loggz1.com,积分1685,
答案 0 :(得分:1)
要过滤列并进行比较,请使用awk
awk '4850 <= $5 && $5 <= 700000'
@edit
awk '{ if (4850 <= $5 && $5 <= 700000) { print $1,$5; } }`