Cómo cambiar el nombre de las capturas de pantalla en Linux

Bash Shell

No posts found.

Muchos sistemas Linux de escritorio guardan capturas de pantalla con nombres como Screenshot from 2020-11-29 18-57-51.png. A menudo, lo que verdaderamente necesitaba era cambiar el nombre de los archivos a poco más obvio como webinar1.png, webinar2.png, y así. Por fortuna, cambiar el nombre de un montón de archivos es muy practicable de hacer en la recorrido de comandos de Linux.

El shell Bash es muy versátil y proporciona diferentes formas de evaluar títulos y expandir variables. Una buena evaluación es evaluación aritmética. Para realizar esta evaluación, envuelva su proclamación aritmética con $(( y )).

La evaluación todavía puede incluir expansión variable, como $sum para resolver en un valencia. Pero por conveniencia, cualquier variable de Bash listada entre $(( y )) se expanden automáticamente. Por ejemplo, para incrementar el recuento de una variable en 1, puede escribir:

count=$(( count + 1 ))

Esto es lo mismo que escribir:

count=$(( $count + 1 ))

La expansión aritmética admite los mismos operadores que se encuentran en otros lenguajes de programación, incluidos + y - para sumar y restar, * y / para multiplicación y división, y % para el resto. Incluso puedes usar ++ y -- para incrementar y disminuir un valencia en una variable. Consulte la página de manual de Bash y desplácese alrededor de debajo hasta EVALUACIÓN ARITMÉTICA para obtener la inventario completa de operadores admitidos y su precedencia.

Para cambiar el nombre de todas mis capturas de pantalla, necesitaba escribir este comando Bash de una recorrido:

n=1; for f in Screenshot*.png; do mv -v "$f" webinar$n.png; n=$(( n + 1 )); done

Pero, ¿qué hace esto?

La primera parte del comando, n=1, inicializa la variable n a 1.

Entonces uso un for rizo para trabajar en todos los archivos que comienzan con Screenshot y terminar con el .png extensión. Por lo universal, estas son todas las capturas de pantalla que capturé durante mi extremo seminario web. Si tuviera que ser más preciso, podría incluir la data en esa determinación de archivo, como Screenshot from 2020-11-29*.png. Las barras invertidas son escapes literales para preservar los espacios en el nombre del archivo.

Cada iteración del rizo for almacena un nombre de archivo en la variable f. Entonces el mv mando mv -v "$f" webinar$n.png cambia el nombre de cada archivo a mis nombres de archivo preferidos como webinar1.png , webinar2.png , y así. Necesito citas en torno a del $f expansión variable para que los espacios en Screenshot from YYYY-MM-DD hh-mm-ss.png no provoques problemas en mi mv mando. Si recibe un error como mv: target 'webinar1.png' is not a directory, probablemente no pusiste comillas en torno a del $f.

Finalmente, incremento el valencia en el n variable para que esté inventario para la futuro iteración en el ciclo. La expansión aritmética n=$(( n + 1 )) incrementa el n variable en 1.

Leave a Comment