Provavelmente só funciona com o Bash:
for i in boxScore*; do mv $i ${i#boxScore}; done
Eu sempre uso esta referência para coisas rápidas e sujas: link (ver seção 4).
Eu tenho os seguintes arquivos:
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
Gostaria de retirar a parte boxScore
de cada arquivo, por exemplo, boxScoreBaseball.html.php
se tornaria baseball.html.php
. Qual a maneira mais fácil de fazer isso?
Provavelmente só funciona com o Bash:
for i in boxScore*; do mv $i ${i#boxScore}; done
Eu sempre uso esta referência para coisas rápidas e sujas: link (ver seção 4).
Outra opção é usar mmv
(Veja este artigo para mais exemplos ).
Para o exemplo dado:
mmv "boxScore*.html.php" "#1.html.php"
Você não pode renomear tudo diretamente, você deve usar um script bash. Talvez esses links sejam úteis para você:
Execute este pequeno script de shell:
for file in *; do echo "${file:8}" | sed -e 's/^\([A-Z]\)\(.*\)/\l/' | xargs mv "$file"; done
Nós iteramos todos os arquivos no diretório atual. Primeiro, fazemos eco do nome do arquivo sem os primeiros 8 caracteres. Em seguida, usamos sed
para converter o primeiro caractere em minúsculo. A expressão sed
search significa "início da linha, grupo 1: uma letra maiúscula, grupo 2: o resto", e a expressão de substituição significa "grupo de correspondência minúscula 1 e depois acrescentar o grupo 2". A última parte apenas move o arquivo antigo para o nome do arquivo transformado.
Tags linux