regex - 当前登录用户的 Sed $DISPLAY

标签 regex linux sed xorg

我想找出当前登录用户使用的DISPLAY。为此,我想使用 sed。首先,who 的输出:

[orschiro@thinkpad ~]$ who
orschiro tty1         2013-08-05 23:15
orschiro pts/0        2013-08-05 23:17 (:0)
orschiro pts/1        2013-08-05 23:22 (:0)
orschiro pts/2        2013-08-05 23:22 (:0)

那是我想为登录用户 orschiro 检索 :0

我正在使用以下表达式,但它没有检索到预期的结果。相反,输出为空:

[orschiro@thinkpad ~]$ who | sed -e "/orschiro/! d;/pts/d;s/^.*[^0-9]\\(:[0-9.]\\+\\).*$/\\1/p;d" | head -n1
[orschiro@thinkpad ~]$ 

我的表情有什么问题吗?

最佳答案

命令 /pts/d; 删除所有包含字符串 pts 的行。 试试这个:

who | sed -e '/orschiro/! d; /pts/! d; s/^.*\(:[0-9.]\+\).*$/\1/p;d' | head -n1

关于regex - 当前登录用户的 Sed $DISPLAY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18068376/

相关文章:

javascript - 如何从 Linux shell 执行 javascript 程序?

linux - GPG 错误更新 Ubuntu/Debian 包

linux - 如何使用 sed 或 awk 从路径中提取文件名

java - 正则表达式在所有标点符号之间添加空格

python - 重新匹配 ('any item from a list' ) 与 python

linux - 如何在 Linux 上构建 Mono 应用程序

linux - sed:如何处理反斜杠?

sed + 匹配行并在行中的第一个字符串上添加单词

python - 如何以编程方式访问流编辑器?

c# - 如何为必须相等且可以选择用空格分隔的任意数字字符串创建正则表达式