删除最旧的目录,跳过其中的两个

我必须删除最旧的目录。 但是,这两个目录并不需要被“包含”在这个动作中。

所以,目录内容如下所示:

[root@myserver backup]# ls -la total 84 drwxr-xr-x 21 root root 4096 Jun 18 04:10 . drwxr-xr-x 15 root root 4096 Dec 30 11:42 .. drwxr-xr-x 9 root root 4096 Jan 11 07:25 2013 drwxr-xr-x 13 root root 4096 Jun 4 08:01 2014 drwxr-xr-x 2 root root 4096 Jun 12 04:20 2014-06-12 drwxr-xr-x 2 root root 4096 Jun 13 04:20 2014-06-13 drwxr-xr-x 2 root root 4096 Jun 14 04:20 2014-06-14 drwxr-xr-x 2 root root 4096 Jun 15 04:20 2014-06-15 drwxr-xr-x 2 root root 4096 Jun 16 04:20 2014-06-16 drwxr-xr-x 2 root root 4096 Jun 17 04:20 2014-06-17 drwxr-xr-x 2 root root 4096 Jun 18 04:20 2014-06-18 [root@myserver backup]# 

在这种情况下,目录2014-06-12必须被删除,目录2013和2014不应该被删除。

我试着通过执行下一个命令:

 rm -f 'ls -l | grep 2014\- | head -1' 

…但它不会删除任何东西。

你能帮我怎么做到这一点?

先谢谢你!

无论目录名称如何,该命令都可以工作。
要删除第三个最旧的目录:
ls --sort t -l | grep -v total | awk '{print $9}' | head -n -2 | tail -1 | xargs rm -rf

尝试这个:

 ls -1tr | grep 2014\- | head -1 | xargs rm -rf