gpt4 book ai didi

macos - 如何在 OSX 中按创建日期重命名文件?

转载 作者:行者123 更新时间:2023-12-04 18:35:28 25 4
gpt4 key购买 nike

我正在寻找一个解决方案,以在创建日期 yy-mm-dd 之前重命名文件而不是 Mac 和 Ubuntu 的实际日期。我已经知道如何使用 AppleScript 创建应用程序并使用 launchd 每小时调用一次当文件被发送到存储库进行存储时,Ubuntu 使用 CRON 作业,而文件开头没有创建日期。

我可以通过今天的日期重命名文件:

for file in *.zip; do
mv -n "$file" "$(date +%Y%m%d_"$file")"
done

但是当我尝试时:
for f in *.zip; do
D=$(stat -n '%Y%m%d' $f)
mv -v "$f" "$D_$f"
done

什么都没发生。我可以使用 stat foobar.zip获取文件的日期,但是有没有办法可以为创建日期执行此操作,所以当我编写条件来测试是否不存在应用创建日期的日期时?我有点记得能够做到 date -r在 Ubuntu 中,但在 Mac 上不可用。我在 SO、AskUbuntu 和 Unix 上进行了搜索,但我无法找到允许我选择执行此操作的解决方案。我考虑过使用 stat 进行测试和 awk设置为变量 D并以这种方式重命名。

最佳答案

完整示例

Amadan 的解决方案非常有帮助,当然也是正确的。也许像我一样,其他人正在寻找完成的例子。我想通了,它看起来像这样:

单线:

for f in *.jpg; do D=$(date -r $(stat -f %B $f) +%Y-%m-%d-%H-%M-%S); mv "$f" "$D-$f"; done

可读版本:
for file in *.jpg
do VARIABLE_DATE_OF_FILE=$(date -r $(stat -f %B $file) +%Y-%m-%d-%H-%M-%S)
mv "$file" "$VARIABLE_DATE_OF_FILE-$file"
done

关于macos - 如何在 OSX 中按创建日期重命名文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36539559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com