Muy simple.
¿Cómo cambio el nombre?
05_h.png
06_h.png
a
05_half.png
06_half.png
Al menos, creo que es simple, pero es difícil para Google para este tipo de cosas a menos que ya lo sepas.
Gracias....
Simplemente use bash, no es necesario llamar a comandos externos.
for file in *_h.png
do
mv "$file" "${file/_h.png/_half.png}"
done
No añada #!/bin/sh
Para aquellos que necesitan esa frase:
for file in *.png; do mv "$file" "${file/_h.png/_half.png}"; done
Do not add #!/bin/sh
? Intenté trabajar con / sin esta declaración.#!/bin/bash
. Dicho esto, bash es normalmente el shell predeterminado en muchas computadoras, por lo que no encontrará muchas diferencias: D Puede encontrar más información aquíProbar
rename
comando:Actualizar:
ejemplo de uso:
crear algo de contenido
solución de prueba:
fuente
ls
? ¿Qué es lorename ...
que intentas?rename
No es una herramienta estándar de Unix.brew install rename
's//'
- hice referencia al hombre y había una sinopsis simple:,rename [options] expression replacement file...
en CentOS 7, versión:rename from util-linux 2.23.2
.
coincide con CUALQUIER carácter, no solo con un punto: para el punto literal, use\.
en su lugarfuente
mv $f $fnew
conecho $fnew
la segunda línea para asegurarme de que la salida se vea sana.¿Estás buscando una solución de bash puro? Hay muchos enfoques, pero aquí hay uno.
Esto supone que los únicos archivos en el directorio actual que terminan en
_h.png
son los que desea renombrar.Mucho más específicamente
Presumiendo que esos dos ejemplos son los únicos. archivos.
Para el caso general, el cambio de nombre de archivo se ha cubierto anteriormente .
fuente
Use la
rename
utilidad escrita en perl. Sin embargo, es posible que no esté disponible de forma predeterminada ...fuente
fuente
Tuve una pregunta similar: en el manual, describe cambiar el nombre como
para que puedas usarlo de esta manera
En el código: '_h' es la expresión que estás buscando. '_half' es el patrón con el que desea reemplazar. '* .png' es el rango de archivos que está buscando para sus posibles archivos de destino.
Espero que esto pueda ayudar c:
fuente
Otro enfoque puede ser manualmente usando la opción de cambio de nombre de lote
Haga clic derecho en el archivo -> Comandos personalizados de archivo -> Cambiar nombre de lote y puede reemplazar h. con la mitad
Esto funcionará para la interfaz gráfica de usuario basada en Linux usando WinSCP, etc.
fuente
Usa la
rename
utilidad:fuente
Un trazador de líneas:
for file in *.php ; do mv "$file" "_$file" ; done
fuente
Aunque el conjunto de respuestas está completo, necesito agregar otro que falta.
fuente