在mac bash上格式化修改日期/时间的文件?

Dav*_*son 18 macos bash datetime bsd last-modified

在我的mac(雪豹)上的bash脚本中,我有一个路径和文件名,我需要获取该文件的修改日期/时间.我发现我能做到:
stat -f "%m" $MYFILE

但是,这将返回我假设的纪元日期/时间.我需要格式化的日期/时间:YYYYMMDDThhmmss.我发现了各种各样的选项(比如date)显然依赖于GNU,这在我的mac上我没有.

在mac(BSD?)bash上以用户指定的格式修改文件的日期/时间的标准方法是什么?或者至少是一个日期/时间格式化功能,我可以将stat上面的呼叫结果传递给.

che*_*ner 33

它实际上非常简单,但与GNU不同date,它远不是那么明显:

date -r $TIMESTAMP +%Y%m%dT%H%M%S
Run Code Online (Sandbox Code Playgroud)

要stat进行格式化:

stat -f "%Sm" -t "%Y%m%dT%H%M%S" FILE
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!哇,我希望几小时前我会问的! (2认同)
  • 最后对这个问题给出一个简单、直截了当、没有浮夸和有效的答案!我不敢相信有多少人认为我真的很关心学习 stat 或 date 命令的所有 1,000 个修饰符……只要给我一个有效的命令就可以了!多谢! (2认同)