我有一个bash脚本:
for entry in "/home/pictures"/*
do
echo "ls -larth $entry"
done
它必须是一个bash脚本,因为其他一些软件(Jenkins)会调用它。
答案 0 :(得分:1)
尝试查找。
find /home/pictures -type f -exec ls -l --full-time {} \; | sort -k 6
答案 1 :(得分:0)
如果文件名中没有换行符,请使用:
find /home/pictures -type f -printf '%T@ %p\n'|sort -n
如果您无法容忍输出中的时间戳,请使用:
find /home/pictures -type f -printf '%28T@ %p\n' | sort -n | cut -c30-
如果文件名中有新行可能,和,如果您可以使用消耗输出的程序接受空终止记录,则可以使用:
find /home/pictures -type f -printf '%T@,%p\0' | sort -nz
如果输出中没有时间戳,请使用:
find /home/pictures -type f -printf '%28T@ %p\0' | sort -nz | cut -zc30-
P.S。 我假设您想按最后修改时间排序。
答案 2 :(得分:0)
我找到了问题的解决方案:
找到。 -name * -exec ls -larth {} +