Re: rm *~ -R (no funciona)
El Sábado, 26 de Noviembre de 2005 13:42, Iñaki escribió: > 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ó: > || > Hola, una pregunta rápida: > || > > || > 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 > || > > || > > || > Al final he logrado hacerlo usando esto: > || > > || > rm $(find . -name "*~") > || > > || > pero me parece un poco rebuscado, ¿no se puede hacer de manera más > || > fácil y evidente? > || > > || > > || > Gracias. > || > || amí si me funciona > || > || 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). > > > Ahora he quitado por si acaso ese alias y en serio que no entiendo lo que > pasa. Dices que te funciona, ¿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 ibc8 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 > rm: no se puede borrar «*.php»: No existe el fichero o el directorio > > - 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? > he comprobado que lo que dices es cierto... pero, aún no sé cómo hacerlo bien, usando solo rm > > Gracias por cualquier ayuda y un saludo. -- Añadir mas trabajo a un proyecto informático que va atrasado, lo atrasará mas. -- Ley de Brook. -- // //Rober Morales Chaparro // #include /* RMC'05 */ class saludo { public: saludo(){ std::cout << "Hola"; } ~saludo() { std::cout << " Mundo!" ; } } ; int main() { saludo holamundo; }
Re: rm *~ -R (no funciona)
El Sábado, 26 de Noviembre de 2005 15:28, [EMAIL PROTECTED] escribió: || On Sat, 26 Nov 2005 12:22:54 +0100, "Iñaki" <[EMAIL PROTECTED]> said: || > Hola, una pregunta rápida: || > || > 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: || || Yo hago || || #rm -Rf /carpeta || || y funciona muy bien... y si da lata, lo hago como root y se acabó. Borrar todo la carpeta no es lo que pretendo, creo que en la pregunta inicial está bastante claro lo que busco. Gracias no obstante. -- que a mí ni me va ni me viene... pero por comentar...
Re: rm *~ -R (no funciona)
On Sat, 26 Nov 2005 12:22:54 +0100, "Iñaki" <[EMAIL PROTECTED]> said: > Hola, una pregunta rápida: > > 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: Yo hago #rm -Rf /carpeta y funciona muy bien... y si da lata, lo hago como root y se acabó. -- Saludos Juan Carlos -- Los hombres de verdad usan GNU/Linux y creen en Jesucristo -- Usuario GNU/Linux #376074 Maquina #274124 -- http://www.fastmail.fm
Re: rm *~ -R (no funciona)
Ups. Como Iñaqui me ha hecho saber, le he enviado mi respuesta en persona. Entre listas que modifican el Reply-To y una buena configuración de mutt estoy muy mal acostumbrado. ^_^; Replico el mensaje añandiendo que, combinar varias aplicaciones para producir un resultado, es típico en la línea de comandos y no es de por sí algo malo (e.g. se unifica el interfaz, el origen y la corrección de errores, etc.). Salud. -- Forwarded message -- From: Gonzalo HIGUERA DÍAZ <[EMAIL PROTECTED]> Date: 26-nov-2005 14:35 Subject: Re: rm *~ -R (no funciona) To: Iñaki <[EMAIL PROTECTED]> 2005-11-26 13:42 +0100, Iñaki <[EMAIL PROTECTED]>: > 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ó: > || > Hola, una pregunta rápida: > || > > || > 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 > || > > || > > || > Al final he logrado hacerlo usando esto: > || > > || > rm $(find . -name "*~") > || > > || > pero me parece un poco rebuscado, ¿no se puede hacer de manera más fácil > || > y evidente? > || > > || > > || > Gracias. > || > || amí si me funciona > || > || 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). > > > Ahora he quitado por si acaso ese alias y en serio que no entiendo lo que > pasa. Dices que te funciona, ¿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 ibc8 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 > rm: no se puede borrar «*.php»: No existe el fichero o el directorio > > - 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? Que yo sepa, la mejor opción (usando bash y las utilidades más comunes) es: $ find . -name "*~" -exec rm {} \; o mejor aún $ find . -name "*~" -exec rm {} + #Llama a rm una sola vez (i.e. rm arch1 arch2 ...) -- Gonzalo HIGUERA DÍAZ <[EMAIL PROTECTED]>
Re: rm *~ -R (no funciona)
El Sábado, 26 de Noviembre de 2005 14:47, Xavier Reina escribió: || > - 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: || [EMAIL PROTECTED]:~/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). Humm, se acerca pero sigue sin ser válido, porque esa solución (*/*.php) sólo sirve para borrar ficheros .php que se encuentren en una subcarpeta de la carpeta actual. Pero no valdría para este caso: ibc@ ~/pruebas/DIR2 $ ls -lRL .: total 12K -rw-r--r-- 1 ibc ibc0 2005-11-26 15:08 00.php drwxr-xr-x 2 ibc ibc 4,0K 2005-11-26 15:05 dir1 drwxr-xr-x 3 ibc ibc 4,0K 2005-11-26 15:05 dir2 drwxr-xr-x 2 ibc ibc 4,0K 2005-11-26 15:05 dir3 ./dir1: total 0 -rw-r--r-- 1 ibc ibc 0 2005-11-26 15:05 aa.php ./dir2: total 4,0K -rw-r--r-- 1 ibc ibc0 2005-11-26 15:05 bb.php drwxr-xr-x 2 ibc ibc 4,0K 2005-11-26 15:05 subdir2 ./dir2/subdir2: total 0 -rw-r--r-- 1 ibc ibc 0 2005-11-26 15:05 sub_bb2.php ./dir3: total 0 -rw-r--r-- 1 ibc ibc 0 2005-11-26 15:05 cc.php En este caso si hago: rm -ri */*.php sólo borraría: dir1/aa.php dir2/bb.php dir3/cc.php y no borraría: 00.php dir2/subdir2/sub_bb2.php Lo compruebo: ibc@ ~/pruebas/DIR2 $ rm -ri */*.php rm: ¿borrar el fichero regular vacío «dir1/aa.php»? (s/n) n rm: ¿borrar el fichero regular vacío «dir2/bb.php»? (s/n) n rm: ¿borrar el fichero regular vacío «dir3/cc.php»? (s/n) n Empiezo a asumir que la única forma es mediante una tubería o similar usando "find" y "rm" conjuntamente, como me han mencionado en otro correo. El problema es que "find" no busca dentro de un directorio si ese directorio está enlazado. Gracias de todas formas y un saludo ;) -- que a mí ni me va ni me viene... pero por comentar...
Re: rm *~ -R (no funciona)
On Sat, 2005-11-26 at 14:47 +0100, Xavier Reina wrote: > 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 > Hay un problema, le estás diciendo que borre todas las carpetas que se > llamen "*.php", mira: Perdon, me equivoqué, borra todos los archivos y directorios que se llamen "*.php" que estén en el directorio donde ejecutas el comando (no únicamente las carpetas): [EMAIL PROTECTED]:~/Desktop/prova/test$ mkdir dir.php [EMAIL PROTECTED]:~/Desktop/prova/test$ touch prova.php [EMAIL PROTECTED]:~/Desktop/prova/test$ touch dir.php/a [EMAIL PROTECTED]:~/Desktop/prova/test$ touch dir.php/a.php [EMAIL PROTECTED]:~/Desktop/prova/test$ rm -ri *.php rm: descend into directory `dir.php'? y rm: remove regular empty file `dir.php/a'? y rm: remove regular empty file `dir.php/a.php'? y rm: remove directory `dir.php'? y rm: remove regular empty file `prova.php'? y -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
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 ibc8 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: [EMAIL PROTECTED]:~/Desktop/prova/test$ mkdir dirtest.php [EMAIL PROTECTED]:~/Desktop/prova/test$ touch dirtest.php/la [EMAIL PROTECTED]:~/Desktop/prova/test$ touch dirtest.php/la.php [EMAIL PROTECTED]:~/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 [EMAIL PROTECTED]:~/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: [EMAIL PROTECTED]:~/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 :-) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: rm *~ -R (no funciona)
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ó: || > Hola, una pregunta rápida: || > || > 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 || > || > || > Al final he logrado hacerlo usando esto: || > || > rm $(find . -name "*~") || > || > pero me parece un poco rebuscado, ¿no se puede hacer de manera más fácil || > y evidente? || > || > || > Gracias. || || amí si me funciona || || 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). Ahora he quitado por si acaso ese alias y en serio que no entiendo lo que pasa. Dices que te funciona, ¿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 ibc8 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 rm: no se puede borrar «*.php»: No existe el fichero o el directorio - 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? Gracias por cualquier ayuda y un saludo. -- que a mí ni me va ni me viene... pero por comentar...
Re: rm *~ -R (no funciona)
El Sábado, 26 de Noviembre de 2005 12:22, Iñaki escribió: > Hola, una pregunta rápida: > > 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 > > > Al final he logrado hacerlo usando esto: > > rm $(find . -name "*~") > > pero me parece un poco rebuscado, ¿no se puede hacer de manera más fácil y > evidente? > > > Gracias. amí si me funciona no tendrás un alias??? -- Q: How many journalists does it take to screw in a light bulb? A: Three. One to report it as an inspired government program to bring light to the people, one to report it as a diabolical government plot to deprive the poor of darkness, and one to win a Pulitzer prize for reporting that Electric Company hired a light bulb-assassin to break the bulb in the first place. -- // //Rober Morales Chaparro // #include /* RMC'05 */ class saludo { public: saludo(){ std::cout << "Hola"; } ~saludo() { std::cout << " Mundo!" ; } } ; int main() { saludo holamundo; }
Re: rm *~ -R (no funciona) [SOLUCIONADO]
El Sábado, 26 de Noviembre de 2005 12:22, Iñaki escribió: || Hola, una pregunta rápida: || || 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 || || || Al final he logrado hacerlo usando esto: || || rm $(find . -name "*~") || || pero me parece un poco rebuscado, ¿no se puede hacer de manera más fácil y || evidente? || || || Gracias. Más que "Solucionado" lo que está es comprendido el porqué funciona así. En otro correo que acabo de mandar comentaba que por defecto los comandos básicos no mirar el contenido de directorios si estos están enlazados. En el comando "ls" existe la opción -L que precisamente se encarga de contemplar los liks a directorios como si fuesen directorios reales. Por desgracia parece que el comando "rm" no incluye esta opción. -- que a mí ni me va ni me viene... pero por comentar...
rm *~ -R (no funciona)
Hola, una pregunta rápida: 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 Al final he logrado hacerlo usando esto: rm $(find . -name "*~") pero me parece un poco rebuscado, ¿no se puede hacer de manera más fácil y evidente? Gracias. -- que a mí ni me va ni me viene... pero por comentar...