我想找出当前登录用户的已用显示。为此,我想使用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)

这就是我想为登录用户检索:0
我正在使用以下表达式,但它无法检索预期结果。相反,输出为空:
[orschiro@thinkpad ~]$ who | sed -e "/orschiro/! d;/pts/d;s/^.*[^0-9]\\(:[0-9.]\\+\\).*$/\\1/p;d" | head -n1
[orschiro@thinkpad ~]$

我的表情怎么了?

最佳答案

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

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/

10-12 20:30