首页 > 解决方案 > 使用 xargs 将日期字符串传递给日期命令失败

问题描述

我正在尝试使用 MacOS 日期从使用 xargs 传递的日期中减去 5 分钟,但失败如下:

$ echo '"2021/02/25 09:20:28"' | xargs -0 -t date -j -f \'%Y/%m/%d %H:%M:%S\' -v \'-5M\'
date -j -f '%Y/%m/%d %H:%M:%S' -v '-5M' "2021/02/25 09:20:28"

Failed conversion of ``%H:%M:%S''' using format ``'%Y/%m/%d''
date: illegal time format
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
            [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]

但是,当我运行由 xargs 打印的命令时,它完全可以正常工作

$ date -j -f '%Y/%m/%d %H:%M:%S' -v '-5M' "2021/02/25 09:20:28"
Thu Feb 25 09:15:28 IST 2021

请建议如何解决这个问题?

标签: macosdatexargs

解决方案


推荐阅读