Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何使用awk从空闲内存中提取剩余内存?_Bash_Memory_Awk_Free Command - Fatal编程技术网

Bash 如何使用awk从空闲内存中提取剩余内存?

Bash 如何使用awk从空闲内存中提取剩余内存?,bash,memory,awk,free-command,Bash,Memory,Awk,Free Command,我需要从空闲输出中提取可用内存,我想我会使用awk,并提出了类似free | awk{print$4}的东西。 这给了我一个输出,比如: $ free | awk '{print $4}' shared 365296 1273812 3931364 请注意,共享的标题不是这些数字的标题,这些数字来自free/usr/bin/free,在第一列中没有标题,因此免费数字出现在第四列,其中报告的标题来自第五列。但是,有了这个,我怎么只返回第二行呢?我现在对其余部分不感兴趣。我自己想出来的,可以通过以

我需要从空闲输出中提取可用内存,我想我会使用awk,并提出了类似free | awk{print$4}的东西。 这给了我一个输出,比如:

$ free | awk '{print $4}'
shared
365296
1273812
3931364

请注意,共享的标题不是这些数字的标题,这些数字来自free/usr/bin/free,在第一列中没有标题,因此免费数字出现在第四列,其中报告的标题来自第五列。但是,有了这个,我怎么只返回第二行呢?我现在对其余部分不感兴趣。

我自己想出来的,可以通过以下方式完成:

$ free | awk '{print $4}'| head -2| tail -1

我自己刚想出来,可以通过以下方式实现:

$ free | awk '{print $4}'| head -2| tail -1
NR,是行/行号


NR,是行/行号

+1,但为加法;在$4后退出,因为OP只想要第2行,而不是第2行和后续行。不应该;在这种情况下,退出是多余的吗?上述命令仅打印第二行;注意NR==2。它将生成正确的输出,但效率很低,因为它将在第2行之后继续解析其余的输入。我不知道free可以产生多少行输出,所以这可能是一个问题,也可能不是一个问题。大多数linux系统在键入free时显示大约4行,所以这里不会损失太多。好的,我在Solaris和cygwin上,两个位置都没有名为free的命令,所以我不知道它输出的是什么;在$4后退出,因为OP只想要第2行,而不是第2行和后续行。不应该;在这种情况下,退出是多余的吗?上述命令仅打印第二行;注意NR==2。它将生成正确的输出,但效率很低,因为它将在第2行之后继续解析其余的输入。我不知道有多少行输出空闲可以产生,所以这可能是一个问题,也可能不是一个问题。大多数linux系统在键入空闲时显示大约4行,所以这里不会损失太多。好的,我在Solaris和cygwin上,没有一个名为free的命令,所以我不知道它会输出什么。-1用于发布您自己问题的答案,而不是用您最好的答案更新您的问题,并询问更好的问题,或者如果您认为您的答案最适合您,则删除您的问题。-1用于发布回答你自己的问题,而不是用你最好的答案更新你的问题,要求更好的答案,或者如果你认为你的答案是最适合你的,就删除你的问题。