我们如何从输出中提取空白不符合常规格式的列?
例如,当我们输入 时ps -ef
,它会显示所有进程、进程 ID...等。我们如何才能只获取最后一列或任何特定列?
答案1
使用-o
选项您可以指定应显示哪些字段。您可以在 中找到man ps
或使用 的可用字段列表ps L
。
例如,使用ps -eo user,command
将显示用户名和命令 - 如下所示:
root /bin/login --
root /sbin/getty
您还可以使用-O
和 参数,这将导致使用一些默认字段并附加您指定的字段,但如果您想解析输出,我会推荐o
.
答案2
也许你想要:
ps -eo comm
要获取命令名称或
ps -eo args
获取命令参数或
ps -eo args="Last-Arg" | awk '{print $NF}'
得到最后一个参数。