Istnieje kilka różnych tematów dotyczących stackoverflow dotyczących znalezienia/usunięcia najstarszego katalogu/plików w katalogu. Czytałem wiele z nich i widziałem mnóstwo różnych sposobów, które oczywiście działają dla niektórych osób w innych systemach, ale nie dla mnie w moim konkretnym przypadku.usuwa wszystkie stare katalogi oprócz X na FreeBSD przez Bash (bez -printf, ze spacjami, bez zsh)
Ograniczenia są:
- Im na FreeBSD (FreeNAS 9.3)
- katalogi mają spacje w nich
- Dont użyć ls (http://mywiki.wooledge.org/ParsingLs)
- Nie można używać -printf find (robi istnieją dla mnie)
Najbliższe, jakie dostałem, to coś takiego (nie jest kompletne):
find . -maxdepth 1 -d -name "Backup Set*" -print0 | xargs -0 stat -f "%m %N" | sort -r| awk 'NR>5'
To daje mi katalogi które chcę usunąć jednak mają teraz timestamps poprzedzany, których nie jestem pewien, że gdybym rozebrać się i rura do RM i będzie powrót do sytuacji, w której nie mogę usunąć katalogi z miejscami w nich.
wyjściowa:
1450241540 ./Backup Set1
1450241538 ./Backup Set0
Dzięki za wszelką pomoc tutaj.
odpowiednich wiadomości, że mam spojrzał na:
https://superuser.com/questions/552600/how-can-i-find-the-oldest-file-in-a-directory-tree
Bash scripting: Deleting the oldest directory
Delete all but the most recent X files in bash
robi 'stat 'output pozwala ci umieścić dodatkowe dbl-quotes, czyli' stat -f "% m \"% N \% "" "? Dobra Q, powodzenia. – shellter