首页 > 解决方案 > 获取file-1的修改时间并插入file-2

问题描述

我是一名自学者,刚开始使用麻省理工学院一门名为./missing 学期的课程的讲座和材料学习 bash 和 shell 脚本

我刚刚完成了第一堂课和大部分练习,但我特别卡在练习 9 上。目标是使用>|获取文件的最后修改日期semester并将其输入到新文件last-modified.txt中。

我已经阅读了 、 和 的帮助和手册页,但touch我无法找到一种方法来仅获取目标文件的最后修改日期。我知道我错过了使用一个程序的输出和将其连接到另一个程序的输入之间的联系。到目前为止,这是我在 Windows 10 上使用 WSL2 所尝试的。我的 shell 是 zsh。lsstatcat

尝试 1

尝试 2

如果有人有任何资源可以为我指明正确的方向,我将不胜感激。先感谢您!

标签: bashtouchzshcatls

解决方案


您可以使用stat命令来获取信息,而不是ls.

-c选项允许您以某种格式指定某些文件信息 - 根据您确切需要的信息,此选项的参数会有所不同。

(来自统计手册页):

    %x     Time of last access, human-readable
    %X     Time of last access, seconds since Epoch
    %y     Time of last data modification, human-readable
    %Y     Time of last data modification, seconds since Epoch
    %z     Time of last status change, human-readable
    %Z     Time of last status change, seconds since Epoch

因此,假设您想要最后一次数据修改的人类可读时间,请使用:

stat -c %y semester

您可以使用>将结果写入另一个文件


推荐阅读