我是一个自学者,刚刚开始使用麻省理工学院一门名为./missing semester的课程的讲座和材料学习bash和shell脚本
我刚刚完成了第一堂课和大部分练习,但我只专注于练习9。目标是使用>和|来获取文件semester的最后修改日期,并将其输入到新文件last-modified.txt中。
我已经阅读了touch、ls、stat和cat的帮助和手册页,但我想不出一种方法来只获取目标文件的最后修改日期。我知道我错过了使用一个程序的输出和通过管道连接到另一个程序的输入之间的联系。这是我到目前为止在Windows10上使用WSL2的尝试,我的外壳是zsh。
如果任何人有任何资源为我指明正确的方向,我将非常感激。提前谢谢你!
发布于 2020-08-14 14:18:12
您可以使用stat命令而不是ls来获取信息。
-c选项允许您以某种格式指定特定的文件信息-根据您确切需要的信息,此选项的参数将有所不同。
(来自stat man page):
%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
您可以使用>将结果写入另一个文件
发布于 2020-09-06 03:25:39
这就是我使用的方法,它起作用了。
./ -n1 | head -n12 | tail -n1> last-modified.txt
head输出前12行,tail输出最后一行,最后输出放入last -modfied.txt中
https://stackoverflow.com/questions/63407315
复制相似问题