Cargando

Borrar archivos contienen en nombre un caracter o número Linux




Solución elegida por el autor
Iniciado por Luis Miranda , 18 septiembre 2017 - 13:23
Para los que estáis empezando en sistemas Linux y queréis eliminar archivo que contiene un caracteres que tu determinas entre la a-z y números de 0-9 en el nombre de archivo en Linux o Unix. Aquí os dejo como realizarlo en comandos dentro de la bash shell.
 
Tener en cuenta que se usa el comando rm para eso en la línea de comandos. Para determinar eso se usa el asterisco (globbing). Lo mejor es verlo en ejemplos.
 
Estos son los patrones que pueden usarse de selección en los comandos de Linux que por ejemplo en este caso para el comando rm te sirven para determinar lo que estás buscando para eliminar:
 
  • * = Coincide con cualquier cadena.

rm *.txt (Estarías borrando todos los archivos .txt)

 

  • *a* = Coincide con cadenas que contienen el caracter a.

rm a*.txt (Estarías borrando los archivos .txt que contengan nombre que empiezan por a)

 

  • *7* =Coincide con cualquier nombre que contiene un dígito, en este ejemplo el número 9.

rm *7*.avi (Estarías borrando todos los archivos .avi que contengan un número 7 en el nombre del archivo)

 

  • *.[xy] = Relacionado con cualquier cadena que termine con .x o .y

rm *.[wm] (Estarías eliminando archivos que tengan cadena w o m después del . en el nombre del archivo)

 

  • *[ab]* = Relacionado con cualquier cadena que contiene caracteres a o b

ls *[A-Z]*.txt (Eliminando cualquier archivo txt que contenga cadena a o b)

 

  • *[76]* = Coincide con cualquier cadena que contiene caracteres 4 o 2

rm -v *[72]* (Estarías eliminando archivos que contengan caracterres 4 o 2)

 

  • ? = Coincide con una cantidad de caracteres concreto. Si pones solo eso pues sería un caracter de nombre.

 

Ya está, con esos comandos podrás realizar la eliminación de lo que tu consideres. Te recomiendo primero usar ls para comprobar lo que vas a borrar primero. Luego el comando rm con ese mismo patrón.

 

Te dejo también el help del comando RM de linux que sirve para eliminar directorios y archivos en Linux.

 

 

RM(1) User Commands RM(1)



NAME
rm - remove files or directories

SYNOPSIS
rm [OPTION]... FILE...

DESCRIPTION
This manual page documents the GNU version of rm. rm removes each
specified file. By default, it does not remove directories.

If the -I or --interactive=once option is given, and there are more
than three files or the -r, -R, or --recursive are given, then rm
prompts the user for whether to proceed with the entire operation. If
the response is not affirmative, the entire command is aborted.

Otherwise, if a file is unwritable, standard input is a terminal, and
the -f or --force option is not given, or the -i or --interac‐
tive=always option is given, rm prompts the user for whether to remove
the file. If the response is not affirmative, the file is skipped.

OPTIONS
Remove (unlink) the FILE(s).

-f, --force
ignore nonexistent files, never prompt

-i prompt before every removal

-I prompt once before removing more than three files, or when
removing recursively. Less intrusive than -i, while still giv‐
ing protection against most mistakes

--interactive[=WHEN]
prompt according to WHEN: never, once (-I), or always (-i).
Without WHEN, prompt always

--one-file-system
when removing a hierarchy recursively, skip any directory that
is on a file system different from that of the corresponding
command line argument

--no-preserve-root
do not treat `/' specially

--preserve-root
do not remove `/' (default)

-r, -R, --recursive
remove directories and their contents recursively

-v, --verbose
explain what is being done

--help display this help and exit

--version
output version information and exit

By default, rm does not remove directories. Use the --recursive (-r or
-R) option to remove each listed directory, too, along with all of its
contents.

To remove a file whose name starts with a `-', for example `-foo', use
one of these commands:

rm -- -foo

rm ./-foo

Note that if you use rm to remove a file, it is usually possible to
recover the contents of that file. If you want more assurance that the
contents are truly unrecoverable, consider using shred.

AUTHOR
Written by Paul Rubin, David MacKenzie, Richard M. Stallman, and Jim
Meyering.

REPORTING BUGS
Report rm bugs to bug-coreutils@gnu.org
GNU coreutils home page:
General help using GNU software:

COPYRIGHT
Copyright © 2009 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
unlink(1), unlink(2), chattr(1), shred(1)

The full documentation for rm is maintained as a Texinfo manual. If
the info and rm programs are properly installed at your site, the com‐
mand

info coreutils 'rm invocation'

should give you access to the complete manual.
 

Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 08 septiembre 2017 - 10:26

Hola necesito saber como poder borrar archivos con comando que tengan un patrón de caracteres o números. ¿Podéis ayudarme? 

 

Es para ahorrar tiempo y no tener que ir uno a uno. Tampoco estoy todo el día con sistemas Linux, pero esto me vendría muy bien. Como ejemplo os podría preguntar: ¿Cómo puedo eliminar archivo que contiene un carácter a o z o números como 0-9 en su nombre de archivo en Linux o Unix? Todo esto en comando Shell.
 
gracias.

  • 34 personas más tuvieron esta duda Yo también
  • Volver arriba

 

Publicado 08 septiembre 2017 - 12:31

Tienes que usar el comando rm para eliminar los archivos especificados con función de bash que se llama globbing en la línea de comandos.



 

Publicado 18 septiembre 2017 - 13:23
Para los que estáis empezando en sistemas Linux y queréis eliminar archivo que contiene un caracteres que tu determinas entre la a-z y números de 0-9 en el nombre de archivo en Linux o Unix. Aquí os dejo como realizarlo en comandos dentro de la bash shell.
 
Tener en cuenta que se usa el comando rm para eso en la línea de comandos. Para determinar eso se usa el asterisco (globbing). Lo mejor es verlo en ejemplos.
 
Estos son los patrones que pueden usarse de selección en los comandos de Linux que por ejemplo en este caso para el comando rm te sirven para determinar lo que estás buscando para eliminar:
 
  • * = Coincide con cualquier cadena.

rm *.txt (Estarías borrando todos los archivos .txt)

 

  • *a* = Coincide con cadenas que contienen el caracter a.

rm a*.txt (Estarías borrando los archivos .txt que contengan nombre que empiezan por a)

 

  • *7* =Coincide con cualquier nombre que contiene un dígito, en este ejemplo el número 9.

rm *7*.avi (Estarías borrando todos los archivos .avi que contengan un número 7 en el nombre del archivo)

 

  • *.[xy] = Relacionado con cualquier cadena que termine con .x o .y

rm *.[wm] (Estarías eliminando archivos que tengan cadena w o m después del . en el nombre del archivo)

 

  • *[ab]* = Relacionado con cualquier cadena que contiene caracteres a o b

ls *[A-Z]*.txt (Eliminando cualquier archivo txt que contenga cadena a o b)

 

  • *[76]* = Coincide con cualquier cadena que contiene caracteres 4 o 2

rm -v *[72]* (Estarías eliminando archivos que contengan caracterres 4 o 2)

 

  • ? = Coincide con una cantidad de caracteres concreto. Si pones solo eso pues sería un caracter de nombre.

 

Ya está, con esos comandos podrás realizar la eliminación de lo que tu consideres. Te recomiendo primero usar ls para comprobar lo que vas a borrar primero. Luego el comando rm con ese mismo patrón.

 

Te dejo también el help del comando RM de linux que sirve para eliminar directorios y archivos en Linux.

 

 

RM(1) User Commands RM(1)



NAME
rm - remove files or directories

SYNOPSIS
rm [OPTION]... FILE...

DESCRIPTION
This manual page documents the GNU version of rm. rm removes each
specified file. By default, it does not remove directories.

If the -I or --interactive=once option is given, and there are more
than three files or the -r, -R, or --recursive are given, then rm
prompts the user for whether to proceed with the entire operation. If
the response is not affirmative, the entire command is aborted.

Otherwise, if a file is unwritable, standard input is a terminal, and
the -f or --force option is not given, or the -i or --interac‐
tive=always option is given, rm prompts the user for whether to remove
the file. If the response is not affirmative, the file is skipped.

OPTIONS
Remove (unlink) the FILE(s).

-f, --force
ignore nonexistent files, never prompt

-i prompt before every removal

-I prompt once before removing more than three files, or when
removing recursively. Less intrusive than -i, while still giv‐
ing protection against most mistakes

--interactive[=WHEN]
prompt according to WHEN: never, once (-I), or always (-i).
Without WHEN, prompt always

--one-file-system
when removing a hierarchy recursively, skip any directory that
is on a file system different from that of the corresponding
command line argument

--no-preserve-root
do not treat `/' specially

--preserve-root
do not remove `/' (default)

-r, -R, --recursive
remove directories and their contents recursively

-v, --verbose
explain what is being done

--help display this help and exit

--version
output version information and exit

By default, rm does not remove directories. Use the --recursive (-r or
-R) option to remove each listed directory, too, along with all of its
contents.

To remove a file whose name starts with a `-', for example `-foo', use
one of these commands:

rm -- -foo

rm ./-foo

Note that if you use rm to remove a file, it is usually possible to
recover the contents of that file. If you want more assurance that the
contents are truly unrecoverable, consider using shred.

AUTHOR
Written by Paul Rubin, David MacKenzie, Richard M. Stallman, and Jim
Meyering.

REPORTING BUGS
Report rm bugs to bug-coreutils@gnu.org
GNU coreutils home page:
General help using GNU software:

COPYRIGHT
Copyright © 2009 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
unlink(1), unlink(2), chattr(1), shred(1)

The full documentation for rm is maintained as a Texinfo manual. If
the info and rm programs are properly installed at your site, the com‐
mand

info coreutils 'rm invocation'

should give you access to the complete manual.
 



   AUTOR PREGUNTA

Publicado 18 septiembre 2017 - 13:37

GRACIAS, pregunta está ya solucionada con esta buena respuesta.



 

Publicado 07 enero 2019 - 19:19

Yo hace poco también quería saber cómo borrar archivos que tiene como nombre un número o un carácter, y seguramente tú también lo quieres saber, por eso estás aquí. Te enseñare a borrar estos tipos de archivos, solo debes seguir las siguientes instrucciones.

 

 

Proceso 1: Este procedimiento lo vas a realizar mediante la utilización del comando “rm” en la línea del terminal:

  • El primer paso es iniciar la herramienta de terminal presionando simultáneamente los botones de “Alt, Ctrl y T”.
  • En el terminal vas a escribir “rm –v *[76]*” para borrar todos los archivos que tengan caracteres de 7 o 6.
  • Al utilizar “ls *[A-Z] .txt” sirve para suprimir los archivos de texto (txt) que posean la cadena A o Z.
  • Con “rm *.[xy]” funciona para eliminar todos los archivos que lleven la X y Y que se encuentren después del punto (.).
  • Si escribes “rm *7* .avi” se borrarán todos los archivos .avi que tengan en el nombre el número 7.
  • Al colocar en el terminal “rm a* .txt” borrarías los archivos de texto (txt) que contengan en su nombre la letra A como inicial.

 

Con esta lista de comando podrás borrar los archivos que desees, primero puedes empezar probando con archivos innecesarios creados por ti, hasta que lo puedas realizar con seguridad sin dañar nada.

 

Recuerda que las letras, o dígitos que se hallan dentro de “[ ]” pueden variar, según lo que desees borrar, las combinaciones que te di, son patrones para que te puedas guiar.

 

 

Proceso 2: este otro procedimiento es muy similar al que realizaste en el paso anterior, utilizando el terminal.

  • Debes iniciar la herramienta “terminal”, para ello selecciona el icono de “Buscar en el equipo” que se encuentra en la barra lateral y en las opciones que aparecen selecciona “Terminal”.
  • Una vez abierto el terminal escribes el siguiente código “rm [opciones] archivos
  • Entre las “[opciones]” posees una gran variedad como:
  • -v” que te va a permitir ver los nombres antes de suprimirlos.
  • -r” que se encarga de eliminar la totalidad de los archivos que se ubican en un subdirectorio
  • -i” te realiza una pregunta antes de realizar la eliminación del archivo.
  • -f” esta opción realiza la eliminación de todos los archivos de forma automática sin preguntar.

 

En la opción de “Archivos” agregas el nombre de la carpeta o archivos que deseas eliminar.

 

Como nota, para que el comando “rm” pueda eliminar ficheros, es necesario previamente tener un permiso de escritura, este permiso se realiza directamente en las opciones de la carpeta que desea borrar.

 

 

Proceso 3: puede realizar el procedimiento de eliminar este tipo de archivos utilizando la herramienta de Inode.

  • Para realizar este procedimiento debes dirigirte a la carpeta en donde se encuentran los archivos que deseas borrar.
  • Ahora debes iniciar el programa de “Inode” que se encuentra en la lista de programas, o directamente en el panel lateral seleccione “Búsqueda de programas”, y escribes Inode.

 

En caso de que no lo tengas, debes realizar la descarga e instalar el programa utilizando tu navegador favorito.

  • Iniciado el programa debes escribir “ls –i” y el cuadro siguientes escribes “find . –inum INODE –exec rm –i {} \;

 

Esta aplicación es un poco compleja, es por ello que para utilizar de manera correcta es recomendable estudiarla previamente.



 

Publicado 29 junio 2019 - 02:00

Si puedes hacerlo afortunadamente, solo debes tener en cuenta dos cosas, uno lo que es el formato que dichos archivos que deseas eliminar poseen, y segundo el nombre de la carpeta donde estos se encuentran.

 

Una vez que lo sepas procede a ir a tu ejecutador y a colocar este comando “find . -name "*.formato" -type f”, es decir, si por ejemplo deseas encontrar los archivos de una carpeta que se llame “PC” y que tengan formato “JPG” entonces quedaría algo asi: “find . –PC "*.JPG" -type f”.

 

Sin embargo, este último serviría directamente solo para comprobar la existencia de estos en la computadora, pero una vez que lo hayamos ejecutado vamos a poder eliminarlos por medio de esta descripción: “find . -name "*.formato" -type f –delete”.

 

Exponiendo el caso anterior, quedaría algo más o menos así: “find . -name "*.formato" -type f–delete”. Al accionarlo veras como el proceso de eliminación comenzara a ejecutarse dentro de tu ordenador.

 

Sin embargo, también existe un modo más sencillo y es por medio de la descripción “rm”, en este caso lo único que tendrías colocar seria “rm*.formato”, así que colocando la referencia del tipo de archivo “JPG” se utilizaría entonces la siguiente descripción “rm *.JPG”.




X