我正在尝试查找在给定文件路径中创建的最新目录。
ls -t
按文件或目录的时间戳对内容进行排序。但我只需要目录。
答案 0 :(得分:2)
您可以使用目录在其信息开头有d
的事实。
因此,您可以这样做:
ls -lt /your/dir | grep ^d
这样,最后创建的目录将显示在顶部。如果您希望它是相反的方式,顶部最旧,底部较新,请使用-r
:
ls -ltr /your/dir | grep ^d
答案 1 :(得分:1)
*/
匹配目录。
因此,您可以使用以下命令获取最新目录:
ls -td /path/to/dir/*/ | head -1
但我不建议这样做,因为解析ls
的输出是unsafe。
相反,您应该创建一个循环并比较时间戳:
dirs=( /path/to/dir/*/ )
newest=${dirs[0]}
for d in "${dirs[@]}"
do
if [[ $d -nt $newest ]]
then
newest=$d
fi
done
echo "Most recent directory is: $newest"