Use isto: (Eu mudei para grep apenas as pastas que começam com teste)
for i in '\ls -1 --sort time | grep ^test | tr '\n' ' ' | cut -d " " -f 2-';
do
rm -r "$i";
done
sim. Funciona para mim:
~ > ls
total 24
drwxr-xr-x 3 root root 4096 2012-08-23 01:08 Dev
drwxr-xr-x 2 root root 4096 2012-08-24 18:50 latest
drwxr-xr-x 2 root root 4096 2012-08-24 19:14 test1
drwxr-xr-x 2 root root 4096 2012-08-24 19:14 test2
drwxr-xr-x 2 root root 4096 2012-08-24 19:14 test3
drwxr-xr-x 2 root root 4096 2012-08-24 19:14 test4
~ > for i in '\ls -1 --sort time | grep ^test | tr '\n' ' ' | cut -d " " -f 2-';
> do
> rm -r "$i";
> done
~ > ls
total 12
drwxr-xr-x 3 root root 4096 2012-08-23 01:08 Dev
drwxr-xr-x 2 root root 4096 2012-08-24 18:50 latest
drwxr-xr-x 2 root root 4096 2012-08-24 19:14 test4
~ >
Os que restam são a pasta e a pasta mais novas que não correspondem a test
Minha versão é universal - você não precisa fornecer o nome da pasta de teste mais nova.
E com relação aos comentários abaixo, você pode usar a seguinte linha em for
expression
\ls -1 --sort time | grep ^test | tr ' ' '#' | tr '\n' ' ' | cut -d " " -f 2- | tr '#' ' '
se você espera ter espaços nos nomes das pastas. Eu usei #
como um caractere incomum que provavelmente não está em nomes de pastas. Você pode usar outros se espera ter espaços ou #
caracteres. Você pode alterar #
para combinação de caracteres para limitar o risco.
Está funcionando:
~ > ls
total 36
drwxr-xr-x 3 root root 4096 2012-08-23 01:08 Dev
drwxr-xr-x 2 root root 4096 2012-08-24 18:50 latest
drwxr-xr-x 2 root root 4096 2012-08-24 19:19 test
drwxr-xr-x 2 root root 4096 2012-08-24 19:19 test1
drwxr-xr-x 2 root root 4096 2012-08-24 19:19 test2
drwxr-xr-x 2 root root 4096 2012-08-24 19:19 test3
drwxr-xr-x 2 root root 4096 2012-08-24 19:20 test 4
drwxr-xr-x 2 root root 4096 2012-08-24 19:20 test5
drwxr-xr-x 2 root root 4096 2012-08-24 19:21 test 6
~ > for i in '\ls -1 --sort time | grep ^test | tr ' ' '#' | tr '\n' ' ' | cut -d " " -f 2- | tr '#' ' '';
> do
> rm -r "$i";
> done
~ > ls
total 12
drwxr-xr-x 3 root root 4096 2012-08-23 01:08 Dev
drwxr-xr-x 2 root root 4096 2012-08-24 18:50 latest
drwxr-xr-x 2 root root 4096 2012-08-24 19:21 test 6
~ >