首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除字符或文本以仅显示终端中的PID。Ubuntu/Linux终端

如何删除字符或文本以仅显示终端中的PID。Ubuntu/Linux终端
EN

Stack Overflow用户
提问于 2022-09-27 03:02:27
回答 2查看 41关注 0票数 0

如何从输出中删除字符/文本?我一直在试着把它剪掉,但我真的做不到。

我的命令:

代码语言:javascript
复制
xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_PID

输出:

代码语言:javascript
复制
_NET_WM_PID(CARDINAL) = 3239

预期输出:

代码语言:javascript
复制
3239
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-29 17:48:18

您可以单独使用cut来完成这一任务。注意,cut命令有参数-d,它默认为选项卡,但可以传递其他分隔符。

代码语言:javascript
复制
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d\# -f2) _NET_WM_PID | cut -d\  -f3

让我们把它分解成各个部分,然后从内部开始。

  • xprop -root _NET_ACTIVE_WINDOW | cut -d\# -f2选择id,使用磅符号作为裁剪的分隔符,第一个字段是#之前的所有字段,第二个字段是第一个#后面的所有内容,这里是id
  • $( ... )被parens中的命令的结果替换,这里是id
  • xprop -id $( ... ) _NET_WM_PID | cut -d\ -f3,外部xprop结果可以在空格中被裁剪,它给出了三个字段:
    • _NET_WM_PID(CARDINAL)
    • =
    • the值(不像使用delimiter)

那样使用=来获得前导空间)。

  • 注意:我们使用-d\指定“空格为分隔符”,我们需要用反斜杠.

转义空格。

票数 0
EN

Stack Overflow用户

发布于 2022-09-27 03:12:49

代码语言:javascript
复制
sed -E 's#.*/([0-9]*).*#\1#g' file.txt
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73861919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档