Bash scripting: Deleting the oldest directory

前端 未结 4 1120

I want to look for the oldest directory (inside a directory), and delete it. I am using the following:

rm -R $(ls -1t | tail -1)

ls -

相关标签:
4条回答
  • 2020-12-19 08:41
    rm -R "$(find . -maxdepth 1 -type d -printf '%T@\t%p\n' | sort -r | tail -n 1 | sed 's/[0-9]*\.[0-9]*\t//')"
    

    This works also with directory whose name contains spaces, tabs or starts with a "-".

    0 讨论(0)
  • 2020-12-19 08:41

    
    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
    
    You should remove the echo before the rm if it produces the right results

    0 讨论(0)
  • 2020-12-19 08:50

    This is not pretty but it works:

    rm -R $(ls -lt | grep '^d' | tail -1  | tr " " "\n" | tail -1)
    
    0 讨论(0)
  • 2020-12-19 08:55
    rm -R $(ls -tl | grep '^d' | tail -1 | cut -d' ' -f8)
    
    0 讨论(0)
提交回复
热议问题