Linux 下面的语法的简要解释是什么;top";命令:top-p`pgrep进程名| tr"\\"&引用&|sed';s/,$/'`

Linux 下面的语法的简要解释是什么;top";命令:top-p`pgrep进程名| tr"\\"&引用&|sed';s/,$/'`,linux,bash,sed,grep,Linux,Bash,Sed,Grep,在今天之前,尽管我越来越熟悉各种各样的Linux命令,但我还没有尝试了解的一些组件,用于将top命令过滤到某些进程(按进程名称): 此top命令包含各种语法组件。我可以依次查找每个组件(有些组件是显而易见的,比如pipe命令——尽管我对pipe和redirection之间的区别仍然不是100%满意) 但是,由于按进程名称过滤top命令通常很有用,而且从语法角度看,该命令表面上显然不平凡,因此我(可能还有其他人)可以在一个地方参考该命令所有部分的实际(简要)解释 因此,我的问题如下 以上top命令

在今天之前,尽管我越来越熟悉各种各样的Linux命令,但我还没有尝试了解的一些组件,用于将
top
命令过滤到某些进程(按进程名称):

top
命令包含各种语法组件。我可以依次查找每个组件(有些组件是显而易见的,比如pipe命令——尽管我对pipe
和redirection
之间的区别仍然不是100%满意)

但是,由于按进程名称过滤
top
命令通常很有用,而且从语法角度看,该命令表面上显然不平凡,因此我(可能还有其他人)可以在一个地方参考该命令所有部分的实际(简要)解释

因此,我的问题如下


以上
top
命令(按进程名称过滤
top
的输出)的所有组件的简要说明是什么?我希望不要遗漏任何语法,哪怕只是一个简短的提及。谢谢

管道将左侧命令的输出用作右侧命令的输入。因此,
pgrep
的输出转到
tr
,然后转到
sed
。反勾号表示执行命令并返回某些内容。在本例中,
top-p
正在查找进程ID

简要说明: 本质上,它通过
tr
sed
查找
processname
的进程,并向
top-p
提供一个可读的数字,该数字给出内存、CPU使用情况等

稍长:
  • pgrep
    基本上
    grep
    ps aux
  • tr
    将所有
    \\n
    替换为
  • sed
    删除
    $
    表示用作故障保护的字符串结尾)
  • 该输出被传递到
    top-P
    ,它提供了运行系统的动态实时视图。 它可以显示系统摘要信息以及任务列表 当前由Linux内核管理
很长时间:
  • man pgrep
  • man tr
  • man sed
  • man-top

管道将左侧命令的输出用作右侧命令的输入。因此,
pgrep
的输出转到
tr
,然后转到
sed
。反勾号表示执行命令并返回某些内容。在本例中,
top-p
正在查找进程ID

简要说明: 本质上,它通过
tr
sed
查找
processname
的进程,并向
top-p
提供一个可读的数字,该数字给出内存、CPU使用情况等

稍长:
  • pgrep
    基本上
    grep
    ps aux
  • tr
    将所有
    \\n
    替换为
  • sed
    删除
    $
    表示用作故障保护的字符串结尾)
  • 该输出被传递到
    top-P
    ,它提供了运行系统的动态实时视图。 它可以显示系统摘要信息以及任务列表 当前由Linux内核管理
很长时间:
  • man pgrep
  • man tr
  • man sed
  • man-top
本部分给出了一个以逗号分隔的进程列表,该列表被赋予显示资源使用情况的
top
命令

它可以重写为:

process_list=$(pgrep process-name | tr "\\n" "," | sed 's/,$//')
top -p ${process_list}
1)
pgrep进程名
-获取进程名的进程ID列表(如果正在运行)。
2)
tr“\\n”“”
-pgrep命令的输出在单独的行中。因此,本部分删除换行符(如果有)并用逗号分隔。
3)
sed's/,$/”
-此部分删除尾随逗号
$
代表“行尾”,而“$代表尾随逗号”
s/,$/
表示将“行尾”(即最后一个)逗号替换为空,即删除尾随逗号

例如

如果
pgrep进程名
给出如下输出:

4560
5000
然后它首先变成:
45605000,
(by
tr
)。
然后变成
45605000
(通过
sed

然后最后传递到
top
as:
top-p45605000
,它将只显示这两个进程

本部分给出了一个以逗号分隔的进程列表,该列表被赋予显示资源使用情况的
top
命令

它可以重写为:

process_list=$(pgrep process-name | tr "\\n" "," | sed 's/,$//')
top -p ${process_list}
1)
pgrep进程名
-获取进程名
的进程ID列表(如果正在运行)。
2)
tr“\\n”“”
-pgrep
命令的输出在单独的行中。因此,本部分删除换行符(如果有)并用逗号分隔。
3)
sed's/,$/”
-此部分删除尾随逗号
$
代表“行尾”,而“$代表尾随逗号”
s/,$/
表示将“行尾”(即最后一个)逗号替换为空,即删除尾随逗号

例如

如果
pgrep进程名
给出如下输出:

4560
5000
然后它首先变成:
45605000,
(by
tr
)。
然后变成
45605000
(通过
sed

然后最后传递到
top
as:
top-p45605000
PIDS=$(pgrep process-name)
CSV=$(echo -n "$PIDS" | tr "\\n" ",")
CSV=$(echo -n "$CSV" | sed 's/,$//')
top -p "$CSV"
top -p "$(pgrep process-name -d ,)"
echo `echo "Hello, World!"`