将文件的创建日期保存到变量中 - BASH 脚本 - UNIX
Save Creation Date of File into Variable - BASH Script - UNIX
在我的 bash 脚本中,我正在执行以下操作:
shopt -s nullglob
for file in $LOCATION/EXF_TESTFORWhosebug_*.xml;
do
touch "$file.FTC"
done
但在创建 .FTC 文件之前,我想做一个检查:
IF xml 文件的创建日期距 sysdate 超过 30 分钟 - 创建 FTC
如果它不早于 30 分钟 - 不要为此文件创建 .FTC。
关于如何在触摸之前执行此检查的任何建议 "$file.FTC"
我不确定如何检查文件的日期。
使用命令 ls -l 时,我看到了我想要进行此检查的日期。
谢谢大家!
您可能没有“创建(或诞生)”时间——这取决于您拥有的文件系统(检查您的 /etc/fstab)——您可能应该使用“mtime”,即上次修改时间时间,或“ctime”,最后一次 inode 更改(文件重命名、移动等)
以下是获取文件时间数据的 stat
命令示例:
stat -c $'%n\nbirth\t%W = %w\naccess\t%X = %x\nmod\t%Y = %y\nchange\t%Z = %z\n' *
输出可能类似于(这是一个 XFS 文件系统):
file.txt
birth 0 = -
access 1595249263 = 2020-07-20 08:47:43.194000000 -0400
mod 1595249255 = 2020-07-20 08:47:35.453000000 -0400
change 1595249255 = 2020-07-20 08:47:35.453000000 -0400
test.dat
birth 0 = -
access 1595364240 = 2020-07-21 16:44:00.675000000 -0400
mod 1595364184 = 2020-07-21 16:43:04.786000000 -0400
change 1595364184 = 2020-07-21 16:43:04.786000000 -0400
menu.sh
birth 0 = -
access 1600025501 = 2020-09-13 15:31:41.977000000 -0400
mod 1600025496 = 2020-09-13 15:31:36.664000000 -0400
change 1600025496 = 2020-09-13 15:31:36.664000000 -0400
在我的 Mac APFS 上,出生时间是已知值。
在我的 bash 脚本中,我正在执行以下操作:
shopt -s nullglob
for file in $LOCATION/EXF_TESTFORWhosebug_*.xml;
do
touch "$file.FTC"
done
但在创建 .FTC 文件之前,我想做一个检查:
IF xml 文件的创建日期距 sysdate 超过 30 分钟 - 创建 FTC
如果它不早于 30 分钟 - 不要为此文件创建 .FTC。
关于如何在触摸之前执行此检查的任何建议 "$file.FTC" 我不确定如何检查文件的日期。 使用命令 ls -l 时,我看到了我想要进行此检查的日期。
谢谢大家!
您可能没有“创建(或诞生)”时间——这取决于您拥有的文件系统(检查您的 /etc/fstab)——您可能应该使用“mtime”,即上次修改时间时间,或“ctime”,最后一次 inode 更改(文件重命名、移动等)
以下是获取文件时间数据的 stat
命令示例:
stat -c $'%n\nbirth\t%W = %w\naccess\t%X = %x\nmod\t%Y = %y\nchange\t%Z = %z\n' *
输出可能类似于(这是一个 XFS 文件系统):
file.txt
birth 0 = -
access 1595249263 = 2020-07-20 08:47:43.194000000 -0400
mod 1595249255 = 2020-07-20 08:47:35.453000000 -0400
change 1595249255 = 2020-07-20 08:47:35.453000000 -0400
test.dat
birth 0 = -
access 1595364240 = 2020-07-21 16:44:00.675000000 -0400
mod 1595364184 = 2020-07-21 16:43:04.786000000 -0400
change 1595364184 = 2020-07-21 16:43:04.786000000 -0400
menu.sh
birth 0 = -
access 1600025501 = 2020-09-13 15:31:41.977000000 -0400
mod 1600025496 = 2020-09-13 15:31:36.664000000 -0400
change 1600025496 = 2020-09-13 15:31:36.664000000 -0400
在我的 Mac APFS 上,出生时间是已知值。