-
操作系统:Linux
-
文件系统类型:ext3
-
首选解决方案:Bash(脚本/一行程序)、Ruby或Python
我有几个目录,其中有几个子目录和文件。我需要列出所有这些目录,其构造方式应确保每个一级目录都列在其中最新创建/修改文件的日期和时间旁边
为了澄清这一点,如果我触摸一个文件或将其内容向下修改几级子目录,那么时间戳应该显示在第一级目录名的旁边。假设我有一个如下结构的目录:
/alfa/beta/gamma/example.txt
我修改了文件example.txt的内容,我需要在第一级目录alfa旁边以人类可读的形式显示时间,而不是epoch。我尝试过使用find、xargs、sort等工具,但我无法回避这样一个问题,即当我创建/修改几级文件时,“alfa”的文件系统时间戳不会改变
试试这个:
#/bin/bash
查找$1-type f-exec stat--格式'%Y:%Y%n'{}\\分拣-编号|切割-d:-f2-|头
使用它应该开始递归扫描的目录的路径执行它(它支持带空格的文件名)
如果有很多文件,可能需要一段时间才能返回任何内容。如果我们改用xargs,性能会得到提高:
#/bin/bash
查找$1-类型f-print0 | xargs-0 stat-格式“%Y:%Y%n”|排序-nr |剪切-d:-f2-|头
这要快一点