バッシュスクリプト:最古のディレクトリを削除します
-
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