寻找通用方法如何按修改时间对文件的随机列表进行排序,如下所示:
./make_list_of_files | some_sorter_by_mtime
我的当前解决方案是(此处make_list_of_files
是find
命令):
find / -type f -print |\
perl -nle 'push @in,$_;END {@out = sort{ (stat($a))[9] <=> (stat($b))[9] } @in; $,="\n";print @out}'
存在一些更简单的解决方案(例如没有perl)?
答案 0 :(得分:6)
您的some_sorter_by_mtime
应为例如:
xargs stat -f "%m %N" | sort -n | cut -f2-
背后的想法是:
所以,
find / -type f -print | xargs stat -f "%m %N" | sort -n | cut -f2-
答案 1 :(得分:2)
喜欢这个吗?
find / -type f -print | xargs ls -l --time-style=full-iso | sort -k6 -k7 | sed 's/^.* \//\//'
答案 2 :(得分:-2)
是的,没有perl:
find / -type f -exec ls -lrt '{}' \+
师。