世代管理されたリリース用ディレクトリを新しいものから〇世代残して、古いディレクトリを削除したいと思っています。
FreeBSD以外では、headコマンドのnオプションにマイナス値が許容されていません。
linux等では、以下のコマンドでできることなのですが、BSDの場合実現する方法は無いでしょうか?
期待する結果)世代管理されたリリース用ディレクトリを5世代より前のディレクトリを削除する
unix
1# 削除前 2$ ls -l 3drwxr-xr-x 12 xxxxx users 1024 Feb 22 11:57 release20190222115727 4drwxr-xr-x 12 xxxxx users 1024 Feb 22 11:59 release20190222115856 5drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:01 release20190222120128 6drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:05 release20190222120429 7drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:08 release20190222120657 8drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:09 release20190222120926 9drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:17 release20190222121516 10 11# releaseがつくディレクトリを昇順に並べて、後ろから(新しいもの)を5つ読み飛ばした結果を削除する。 12$ find . -maxdepth 1 -name "release*" | sort | head -n -5 | xargs rm -Rf 13 14# 削除後 15$ ls -l 16drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:01 release20190222120128 17drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:05 release20190222120429 18drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:08 release20190222120657 19drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:09 release20190222120926 20drwxr-xr-x 12 xxxxx users 1024 Feb 22 12:17 release20190222121516
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/22 08:03
2019/02/22 12:45