Bash脚本抓取顶部的特定行



是否可以在bash脚本中抓取特定的顶部行?

以下命令在命令shell中有效,但在bash脚本中不起作用,我也尝试了grep

echo "             " `top | awk 'NR==7'`
echo "             " `top | awk 'NR==8'`

(我也尝试过这种方法,但它产生了相同的空白文本(

使用GNU top,我认为最简单的方法是

top -n 1 -b | sed -n '7,17 p'

CCD_ 1仅从CCD_ 2的输出中选择第7至第17行。

我怀疑您观察到的差异是由于top的交互性质造成的。考虑将命令行参数传递到top以禁用它的交互方面。例如,在MAC上,这里有一个命令,用于对前5个进程进行单个采样(并返回(:

top -l 1 -n 5

如果你想使用awk来选择特定的线路,比如说7到17,试试这个:

top -l 1 | awk 'NR >= 7 && NR <= 17'

最新更新