过滤包含大于XY的浮点数的行

mYs*_*elf 2 floating-point numbers sed line filter

我试图创建一个非常简单的shell脚本,释放一些内存空间.为此,我正在使用命令

$ ps xopmem o%c
Run Code Online (Sandbox Code Playgroud)

以百分比的内存使用量输出正在运行的进程列表.现在,我想过滤掉那些值(在第一个字段中)大于5.0的行.我怎样才能做到这一点?我最好使用SED.

PS:我在互联网上搜索这个主题,但一无所获.任何帮助将不胜感激.

Tho*_*hor 8

sed不能做数值比较,你需要移动一个工具,即awk:

ps xopmem o%c | awk '$1 > 5.0'
Run Code Online (Sandbox Code Playgroud)

也就是说,当第一个字段大于5时,执行默认块:{ print $0 }.

  • +1,但``print}是多余的.写'awk'$ 1> 2.0'就足够了 (2认同)