[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: rm *~ -R (no funciona)



On Sat, 2005-11-26 at 13:42 +0100, Iñaki wrote:
> El Sábado, 26 de Noviembre de 2005 13:08, Rober Morales escribió:
> || El Sábado, 26 de Noviembre de 2005 12:22, Iñaki escribió:
> || > Tengo una carpeta con subcarpetas que contienen archivos de copias de
> || > seguridad terminados en ~.
> || > Quiero borrar todas esas copias de un plumazo pero no logro hacerlo.
> || > Intento hacer esto:
> || >
> || >   rm *~ -R
> || >
> || > pero me sale:
> || >
> || >   rm: no se puede efectuar `lstat' sobre «*~»: No existe el fichero o el
> || >   directorio
> |
> || > pero me parece un poco rebuscado, ¿no se puede hacer de manera más fácil
> || > y evidente?
> || >
> ||
> || no tendrás un alias???
> 
> Pues sí, pero no creo que pueda afectar. Es éste:
> 
>   alias rm='rm -i'
> 
> (para que pregunte antes de borrar, sin más).

El alias no afecta en este caso :-)


> ¿podrías probar con este ejemplo que te pongo?
> 
> - Creas un directorio y te metes dentro y creas 3 subdirectorios:
> 
>   #ls -lF
>   drwxr-xr-x  2 ibc ibc 4096 2005-11-26 13:28 dir1/
>   drwxr-xr-x  2 ibc ibc 4096 2005-11-26 13:28 dir2/
>   lrwxrwxrwx  1 ibc ibc    8 2005-11-26 13:28 dir3 -> ../dir3//
> 
> Como puedes ver, debes crear fuera de este directorio otro que se llame "dir3" 
> y enlazarlo desde aquí (ln -sf ../dir3 dir3).
> 
> - Luego crear en cada directorio un archivo .php:
> 
>   #ls -LR
>   dir1  dir2  dir3
> 
>   ./dir1:
>   aa.php
> 
>   ./dir2:
>   bb.php
> 
>   ./dir3:
>   cc.php

> - Y ahora intento borrar de un plumazo todos los .php y es que no puedo borrar 
> ni uno:
> 
>   #rm -R *.php

Hay un problema, le estás diciendo que borre todas las carpetas que se
llamen "*.php", mira:

xavi@x01l:~/Desktop/prova/test$ mkdir dirtest.php
xavi@x01l:~/Desktop/prova/test$ touch dirtest.php/la
xavi@x01l:~/Desktop/prova/test$ touch dirtest.php/la.php
xavi@x01l:~/Desktop/prova/test$ rm -ri *.php
rm: descend into directory `dirtest.php'? y
rm: remove regular empty file `dirtest.php/la'? n
rm: remove regular empty file `dirtest.php/la.php'? n

xavi@x01l:~/Desktop/prova/test$ rm -ri *.php
rm: descend into directory `dirtest.php'? y
rm: remove regular empty file `dirtest.php/la'? y
rm: remove regular empty file `dirtest.php/la.php'? y
rm: remove directory `dirtest.php'? y


> - De acuerdo, ¿y cómo se hace para que borre recursivamente un patrón? no me 
> puedo creer que sea tan complicado, seguro que estoy cometiendo alguna 
> tontería pero no la veo. Por lo que leo en el "man rm" resulta que "rm" no 
> sirve para lo que pretendo (algo muy banal), ¿qué comando sería el apropiado?

rm sirve:
xavi@x01l:~/Desktop/prova/test$ rm -vri */*.php
rm: remove regular empty file `dir1/aa.php'? n
rm: remove regular empty file `dir2/bb.php'? n
rm: remove regular empty file `dir2/b.php'? n
rm: remove regular empty file `dir3/cc.php'? n

Que borre todos los ficheros *.php de todas las carpetas (v es verbose
mode, r equivale a R).

Ale :-)



Reply to: