Cambiar el nombre de un conjunto particular de archivos (Linux)

Cambiar el nombre de un conjunto particular de archivos (Linux)

Tengo los siguientes archivos:

boxScoreBaseball.html.php
boxScoreBasketball.html.php
boxScoreBowling.html.php
boxScoreCheer.html.php
boxScoreCrew.html.php
boxScoreCrossCountry.html.php
boxScoreEquestrian.html.php
boxScoreFieldHockey.html.php
boxScoreFootball.html.php
boxScoreGolf.html.php
boxScoreGymnastics.html.php
boxScoreHockey.html.php
boxScoreLacrosse.html.php
boxScoreRugby.html.php
boxScoreSkiing.html.php
boxScoreSoccer.html.php
boxScoreSoftball.html.php
boxScoreSwimming.html.php
boxScoreTennis.html.php
boxScoreTrack.html.php
boxScoreVolleyball.html.php
boxScoreWaterPolo.html.php
boxScoreWrestling.html.php

Me gustaría quitar una boxScoreparte de cada archivo, de modo que, por ejemplo, boxScoreBaseball.html.phpse convierta en baseball.html.php. ¿Cuál es la forma más sencilla de hacer esto?

Respuesta1

Probablemente sólo funcione con Bash:

for i in boxScore*; do mv $i ${i#boxScore}; done

Siempre uso esta referencia para cosas de bash rápidas y sucias:http://aurelio.net/shell/canivete/es/(ver sección 4).

Respuesta2

Otra opción es utilizar mmv(Vereste artículo para más ejemplos).

Para el ejemplo dado:

mmv "boxScore*.html.php" "#1.html.php"

Respuesta3

No puede cambiar el nombre de todos directamente, debe usar un script bash. Quizás estos enlaces te sean útiles:

Respuesta4

Ejecute este pequeño script de shell:

for file in *; do echo "${file:8}" | sed -e 's/^\([A-Z]\)\(.*\)/\l\1\2/' | xargs mv "$file"; done

Recorremos cada archivo en el directorio actual. Primero, hacemos eco del nombre del archivo sin los primeros 8 caracteres. Luego usamos sedpara convertir el primer carácter a minúscula. La sedexpresión de búsqueda significa "principio de línea, grupo 1: una letra mayúscula, grupo 2: el resto", y la expresión de reemplazo significa "grupo 1 coincidente con minúsculas y luego agregue el grupo 2". La última parte simplemente mueve el archivo antiguo al nombre del archivo transformado.

información relacionada