巴什脚本:删除最早的目录
-
26-09-2019 - |
题
我要寻找最古老的目录(目录),并删除它。我使用以下内容:
rm -R $(ls -1t | tail -1)
ls -1t | tail -1
确实给了我最古老的目录,问题是,它不会删除目录,并且它也列出文件。
我怎么能取悦解决呢?
解决方案
这是不漂亮,但它的工作原理:
rm -R $(ls -lt | grep '^d' | tail -1 | tr " " "\n" | tail -1)
其他提示
rm -R "$(find . -maxdepth 1 -type d -printf '%T@\t%p\n' | sort -r | tail -n 1 | sed 's/[0-9]*\.[0-9]*\t//')"
这还与名称中包含空格,制表符或开始与目录“ - ”
rm -R $(ls -tl | grep '^d' | tail -1 | cut -d' ' -f8)
find directory_name -type d -printf "%TY%Tm%Td%TH%TM%TS %p\n" | sort -nr | tail -1 | cut -d" " -f2 | xargs -n1 echo rm -Rf
在RM之前,应去除回声如果它产生正确的结果
不隶属于 StackOverflow