Bash 日期命令读取文件信息,如stat

Bash 日期命令读取文件信息,如stat,bash,Bash,我发现这是一个脚本,似乎读在日期。它有点像stat命令。我不知道date会这么做。 我不知道它是如何工作的,在手册页中也没有看到“-I”或“-r”标志 /bin/date -I -r /home/capser/casper_file.20180813.csv 2018-08-13 有人能给我指一下文件吗 日期由您的操作系统提供;它不是bash本身的一部分,它提供的选项因您的操作系统而异:mandate提供的本地文档在确定哪些选项适用于您实际安装的date版本方面是规范的 但是,关于您引用的命令

我发现这是一个脚本,似乎读在日期。它有点像stat命令。我不知道date会这么做。 我不知道它是如何工作的,在手册页中也没有看到“-I”或“-r”标志

/bin/date -I -r /home/capser/casper_file.20180813.csv
2018-08-13
有人能给我指一下文件吗

日期由您的操作系统提供;它不是bash本身的一部分,它提供的选项因您的操作系统而异:mandate提供的本地文档在确定哪些选项适用于您实际安装的date版本方面是规范的

但是,关于您引用的命令的日期版本的文档,这些选项由GNU date提供;其手册页的副本可在上获得,部分内容如下:

-r、 -reference=文件 显示文件的上次修改时间 -I[FMT],-iso-8601[=FMT] ISO 8601格式的输出日期/时间。FMT='date'仅适用于日期 日期的默认值为“小时”、“分钟”、“秒”或“ns” 以及达到指定精度的时间。例子: 2006-08-14T02:34:56-06:00
如果您想知道如何在非GNU系统上查找文件的修改时间,这是一个不同的问题-这可能会有所帮助。

如果您只使用ls-l/home/capser/casper_file.20180813.csv,我打赌您会得到相同的日期。date-I-r只是返回文件的最后修改时间,它没有解析文件名本身的任何内容。如果要从文件名解析20180813,请使用-F.和{print$2}或sed查看awk,或者将文件名读入变量,并使用bash参数扩展和删除子字符串。