Cambiar el nombre una herramienta de línea de comando para cambiar el nombre de varios archivos en Linux

Cambiar el nombre una herramienta de línea de comando para cambiar el nombre de varios archivos en Linux

A menudo utilizamos "MV"Comando para cambiar el nombre de un solo archivo en Linux. Sin embargo, renombrar múltiples o grupos de archivos rápidamente hace que sea una tarea muy difícil en un terminal.

Linux Viene con una herramienta incorporada muy potente llamada rebautizar. El rebautizar El comando se usa para cambiar el nombre de múltiples o grupos de archivos, cambiar el nombre de los archivos a minúsculas, cambiar el nombre de los archivos a mayúsculas y sobrescribir archivos utilizando expresiones Perl.

El "rebautizar"El comando es parte de Perl script y reside en "/usr/bin/"En muchas distribuciones de Linux. Tu puedes correr "cual"Comando para averiguar la ubicación del comando de nombre de nombre.

$ que renombrar/usr/bin/renombrar
La sintaxis básica del comando de nombre de nombre
Archivos S/OldName/New-Name/'de Rename

El comando renombrar viene con pocos argumentos opcionales junto con obligatorios expresión de perl que guía cambiar el nombre del comando para hacer un trabajo real.

renombrar [-v] [-n] [-f] perlexpr [archivos]
  1. -V: Imprimir nombres de los archivos renombrados.
  2. -norte: Muestre qué archivos se habrían cambiado el nombre.
  3. -F: Fuerza sobrescribir archivos existentes.
  4. perlexpr: Expresión de perl.

Para una mejor comprensión de esta utilidad, hemos discutido algunos ejemplos prácticos de este comando en el artículo.

1. Un ejemplo de comando de cambio de nombre básico

Supongamos que tienes un montón de archivos con ".html"Extensión y quieres cambiar el nombre de todo".html"Archivos a".php"De una vez. Por ejemplo, primero hacer un "LS -L"Para verificar la lista de archivos con".html" extensión.

# [Correo electrónico protegido]: ~ $ LS -L Total 22532 -RW-RW-R-- 1 RAVISAIVE RAVISAIVE 6888896 OCT 10 12:10 Cricket.html -rw-rw-r-- 1 Ravisaive Ravisaive 588895 Oct 10 12:10 Entretenimiento.html -rw-rw-r-- 1 Ravisaive Ravisaive 6188895 Oct 10 12:10 Salud.html -rw-rw-r-- 1 Ravisaive Ravisaive 6538895 Oct 10 12:10 Estilo de vida.html -rw-rw-r-- 1 Ravisaive Ravisaive 938895 Oct 10 12:10 Noticias.html -rw-rw-r-- 1 Ravisaive Ravisaive 938937 Oct 10 12:11 Fotos.html -rw-rw-r-- 1 Ravisaive Ravisaive 978137 Oct 10 12:11 Deportes.html

Ahora, desea cambiar la extensión de todos estos archivos de ".html" a ".php". Puedes usar lo siguiente "rebautizar"Comando con expresión de perl Como se muestra abajo.

[correo electrónico protegido]: ~ $ Rename 's/\.html $/\.php/' *.html

Nota: En el comando anterior hemos usado dos argumentos.

  1. El primer argumento es un expresión de perl Ese sustituto .html con .php.
  2. El segundo argumento le dice al comando renombrar que sustituya todos los archivos con *.php.

Verifiquemos si todos los archivos pasan a nombre para ".php"Extensión, haciendo LS -L en el aviso.

[correo electrónico protegido]: ~ $ ls -l total 22532 -rw-rw-r-- 1 Ravisaive Ravisaive 68888896 Oct 10 12:10 Cricket.php -rw-rw-r-- 1 Ravisaive Ravisaive 588895 Oct 10 12:10 Entretenimiento.php -rw-rw-r-- 1 Ravisaive Ravisaive 6188895 Oct 10 12:10 Salud.php -rw-rw-r-- 1 Ravisaive Ravisaive 6538895 Oct 10 12:10 Estilo de vida.php -rw-rw-r-- 1 Ravisaive Ravisaive 938895 Oct 10 12:10 Noticias.php -rw-rw-r-- 1 Ravisaive Ravisaive 938937 Oct 10 12:11 Fotos.php -rw-rw-r-- 1 Ravisaive Ravisaive 978137 Oct 10 12:11 Deportes.php

Ahora puedes ver arriba que todo el html Los archivos se renombran a php.

2. Verifique los cambios antes de ejecutar el comando renombrar

Mientras realiza tareas críticas o principales de cambio de nombre, siempre puede verificar los cambios ejecutando el comando renombrar con "-norte" argumento. El "-norte"El parámetro le dirá exactamente qué cambios tendrían lugar, pero los cambios no se realizan de manera real. Aquí, es el ejemplo del comando a continuación.

[Correo electrónico protegido]: ~ $ rename -n 's/\.php $/\.html/' *.cricket php.PHP renombrado como cricket.entretenimiento html.PHP renombrado como entretenimiento.salud html.PHP renombrado como salud.estilo de vida html.PHP renombrado como estilo de vida.Noticias HTML.PHP renombrado como noticias.Fotos HTML.PHP renombrado como fotos.Sports HTML.PHP renombrado como deportes.html

Nota: La salida del comando anterior solo muestra cambios, pero en realidad los cambios no se realizan, a menos que ejecute el comando sin "-norte" cambiar.

3. Imprimir salida de cambio de nombre

Vimos que el comando renombrar no mostraba ninguna información de los cambios que realiza. Entonces, si desea obtener los detalles del comando de nombre de nombre (como lo hicimos usando "-norte"Opción), aquí usamos"-V"Opción para imprimir los detalles completos de todos los cambios realizados por cambiar el nombre del comando.

[correo electrónico protegido]: ~ $ rename -v 's/\.php $/\.html/' *.cricket php.PHP renombrado como cricket.entretenimiento html.PHP renombrado como entretenimiento.salud html.PHP renombrado como salud.estilo de vida html.PHP renombrado como estilo de vida.Noticias HTML.PHP renombrado como noticias.Fotos HTML.PHP renombrado como fotos.Sports HTML.PHP renombrado como deportes.html

4. Convierta todo en minúsculas a mayúsculas y vise-iva

Para que seemberá el nombre de todos los archivos con minúscula nombrar a caja superior. Por ejemplo, quiero encubrir todos estos siguientes archivos de más bajo a superior caso.

Bordes de menor a super
[correo electrónico protegido]: ~ $ ls -l total 22532 -rw-rw-r-- 1 Ravisaive Ravisaive 68888896 Oct 10 12:10 Cricket.html -rw-rw-r-- 1 Ravisaive Ravisaive 588895 Oct 10 12:10 Entretenimiento.html -rw-rw-r-- 1 Ravisaive Ravisaive 6188895 Oct 10 12:10 Salud.html -rw-rw-r-- 1 Ravisaive Ravisaive 6538895 Oct 10 12:10 Estilo de vida.html -rw-rw-r-- 1 Ravisaive Ravisaive 938895 Oct 10 12:10 Noticias.html -rw-rw-r-- 1 Ravisaive Ravisaive 938937 Oct 10 12:11 Fotos.html -rw-rw-r-- 1 Ravisaive Ravisaive 978137 Oct 10 12:11 Deportes.html

Solo usa el siguiente comando con expresión de perl.

[Correo electrónico protegido]: ~ $ rename 'y/a-z/a-z/' *.html

Una vez que haya ejecutado el comando anterior, puede verificar los cambios haciendo "LS -L".

[correo electrónico protegido]: ~ $ ls -l total 22532 -rw-rw-r-- 1 Ravisaive Ravisaive 68888896 Oct 10 12:10 Cricket.Html -rw-rw-r-- 1 Ravisaive Ravisaive 588895 Oct 10 12:10 Entretenimiento.Html -rw-rw-r-- 1 Ravisaive Ravisaive 6188895 Oct 10 12:10 Salud.Html -rw-rw-r-- 1 Ravisaive Ravisaive 6538895 Oct 10 12:10 Estilo de vida.Html -rw-rw-r-- 1 Ravisaive Ravisaive 938895 Oct 10 12:10 Noticias.Html -rw-rw-r-- 1 Ravisaive Ravisaive 938937 Oct 10 12:11 Fotos.Html -rw-rw-r-- 1 Ravisaive Ravisaive 978137 Oct 10 12:11 Deportes.Html

Puede ver que el comando anterior realmente cambió el nombre de todos los nombres de archivos minúsculas (con .Html extensión) a la caja superior.

Estuche superior a minúscula

Del mismo modo, también puedes convertir todo caja superior personajes a minúscula Usando el siguiente comando.

[Correo electrónico protegido]: ~ $ rename 'y/a-z/a-z/' *.Html
[correo electrónico protegido]: ~ $ ls -l total 22532 -rw-rw-r-- 1 Ravisaive Ravisaive 68888896 Oct 10 12:10 Cricket.html -rw-rw-r-- 1 Ravisaive Ravisaive 588895 Oct 10 12:10 Entretenimiento.html -rw-rw-r-- 1 Ravisaive Ravisaive 6188895 Oct 10 12:10 Salud.html -rw-rw-r-- 1 Ravisaive Ravisaive 6538895 Oct 10 12:10 Estilo de vida.html -rw-rw-r-- 1 Ravisaive Ravisaive 938895 Oct 10 12:10 Noticias.html -rw-rw-r-- 1 Ravisaive Ravisaive 938937 Oct 10 12:11 Fotos.html -rw-rw-r-- 1 Ravisaive Ravisaive 978137 Oct 10 12:11 Deportes.html

5. Capitalizar la primera carta de nombre de archivo

Para capitalizar solo la primera letra de cada nombre de archivo, use el siguiente comando.

# Rename 's/\ b (\ w)/\ u $ 1/g' *.extendido 
Capitalizar el nombre de archivo de la primera carta

6. Sobrescribir archivos existentes

Si desea sobrescribir con fuerza los archivos existentes, use el "-F"Opción como se muestra a continuación.

[correo electrónico protegido]: ~ $ rename -f 's/a/b/' * *.html

Si desea saber más sobre el comando de cambio de nombre, escriba el "hombre renombra"En la terminal.

El rebautizar El comando es muy útil, si está tratando con múltiples o el cambio de nombre de lotes de los archivos desde la línea de comando. Prueba y hágame saber, ¿qué tan lejos es útil en términos de renombrar los archivos?.