从日期字符串获取纪元时间
Getting Epochal Time from Date String
我有一个输出这样日期的过程(注意日期 (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'
哪个returns:
Mon Jun 4 17:53:42 2018
但是当我尝试将其转换为日期格式时,我再次收到警告(好像 sed
没有做它的事情)。
问题不是空格,而是换行符。我删除了 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
我有一个输出这样日期的过程(注意日期 (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'
哪个returns:
Mon Jun 4 17:53:42 2018
但是当我尝试将其转换为日期格式时,我再次收到警告(好像 sed
没有做它的事情)。
问题不是空格,而是换行符。我删除了 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