Ubuntu/Linux终端如何提取xprop输出中的PID,仅显示数字?
提取活动窗口PID的数字部分
以下几种方法都可以快速从xprop的输出中提取出PID数字:
方法1:使用awk(最简洁)
利用awk直接取输出的最后一个字段(数字正好是最后一项):
xprop -id $(xprop -root 32x '$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_PID | awk '{print $NF}'
$NF是awk的内置变量,表示当前行的最后一个字段,直接就能拿到目标数字。
方法2:使用sed匹配数字
通过正则表达式替换掉所有非数字字符,只保留数字:
xprop -id $(xprop -root 32x '$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_PID | sed 's/[^0-9]*//g'
[^0-9]*匹配任意非数字字符,替换为空后就只剩数字部分。
方法3:结合cut和xargs处理空格
先以等号为分隔符提取等号后的内容,再用xargs去除前后空格:
xprop -id $(xprop -root 32x '$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_PID | cut -d'=' -f2 | xargs
cut -d'=' -f2提取=后面的内容(包含空格),xargs会自动去掉首尾的空白字符,最终得到纯数字。
内容的提问来源于stack exchange,提问作者Thy-Wilro Doromal
相关产品推荐
相关产品推荐

