使用正则表达式检索系统引导的日期

时间:2014-11-18 15:13:07

标签: regex sed

我使用命令:

who -b

获取上次系统启动的日期。我使用两个不同的系统Debian和Centos,根据操作系统的结果不同。

在Centos中:

system boot  Oct  6 16:48

在Debian(法语):

démarrage système 2014-10-07 15:51

我只想检索日期部分。

我的期望:

Oct  6 16:48

2014-10-07 15:51

为此,我使用“sed”,但我找不到合适的正则表达式。 我目前所拥有的是:

who -b | sed -e 's/[\t a-zA-Z]*//'

此命令适用于Debian,因为它似乎删除了所有字母字符并仅保留数字。 但是如何使它与Centos一起使用,其中月份也是字母的?

非常感谢你的帮助

1 个答案:

答案 0 :(得分:1)

您可以将语言环境设置为仅针对此特定命令的其他语言:LANG=xxx command

如果我没有设置LANG,我也有法语输出。

所以:

$ LANG=C who -b | awk -F'boot *' '{print $2}'
Nov  2 14:19

或:

$ LANG=C who -b | sed 's/.*boot\s*//'
Nov  2 14:19