我想按反向时间戳排序目录,但是如果时间戳按名称排序(不反向)
使用ls -tr
如果两个文件名,而是以相反的模式具有相同的时间戳顺序
你可以用这样的东西
stat --printf "%Y %n\0" * | sort -z -k1,1n -k2
# or quoted file names:
stat --printf "%Y %N\0" * | sort -z -k1,1n -k2
%Y
- >时间戳(精度:秒)),Ñ umeric排序。ls -t
各种与“最新第一”,这已经是从相反的sort -n
,但你可以使用-k1,1nr
来改变这种状况。%n
或%N
->文件名)\n
。然后使用tr
和/或将格式固定为您喜欢的格式sed
:
... | tr '\0' '\n'
# or just print the filenames:
... | sed 's/^[0-9]* //;s/$/\n/;s/\x0[0-9]* /\n/g'
输出:
$ touch d; sleep 1; touch b c; sleep 1; touch a;
$ ls -tr
d c b a
$ stat --printf "%Y %n\0" * | sort -z -k1,1n -k2 | sed 's/^[0-9]* //;s/$/\n/;s/\x0[0-9]* / /g'
d b c a
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句