从日期字符串获取Epochal时间

时间:2018-06-05 10:10:58

标签: bash macos bsd

我有一个输出这样的日期的过程(请注意当天前面的填充(4):

Mon Jun  4 17:53:42 2018

我想获得划时间,所以我试过了:

echo "Mon Jun  4 17:53:42 2018" | xargs -0 date -j -f "%a %b %d %T %Y" +%s

这个 工作,但我留下了烦人的事情:

Warning: Ignoring 1 extraneous characters in date string (
)

我可以接受警告,但我已尝试用sed删除双倍间距:

echo "Mon Jun  4 17:53:42 2018" | sed -E 's/\ +/\ /g'

返回:

Mon Jun 4 17:53:42 2018

但是当我尝试将其传递给日期格式时,我再次收到警告(好像sed没有做到这一点)。

1 个答案:

答案 0 :(得分:1)

问题不是空格,而是换行符。我删除了sed并替换为tr -d "\n"以删除有问题的字符:

echo "Mon Jun 4 17:53:42 2018" | tr -d "\n" | xargs -0 date -j -f "%a %b %d %T %Y" +%s