我有一个输出这样的日期的流程(请注意日期前面的填充 (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 没有执行其操作一样)。
最佳答案
问题不是空格,而是换行符。我删除了 sed
并替换为 tr -d "\n"
以删除有问题的字符:
echo“2018 年 6 月 4 日星期一 17:53:42”| tr -d "\n"| tr -d "\n"| xargs -0 日期 -j -f "%a %b %d %T %Y"+%s
关于bash - 从日期字符串获取纪元时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50697523/