Remova os caracteres iniciais do nome do arquivo até um determinado padrão

Remova os caracteres iniciais do nome do arquivo até um determinado padrão

Suponha que eu tenha arquivos chamados: 93162-117352 - May 24, 2017 345 PM_16_163_student.csv

Eu quero renomeá-lo para ser: 16_163_student.csv

Como faço isso com renomear?

Responder1

Você deseja remover tudo no nome do arquivo, incluindo o primeiro arquivo _. Isso é semelhante, mas mais fácil, ao que foi solicitado em "alterar nomes de arquivos consistentemente"

Minha solução seria (assumindo um shell POSIX como bash):

for name in *.csv; do
    mv -i -- "$name" "${name#*_}"
done

O ${name#*_}removerá tudo, inclusive o primeiro _do nome.

Isso pressupõe que todos os arquivos nos quais você deseja trabalhar correspondam ao padrão *.csv.

Eu adicionei um -ipara que você tenha a opção de abortar se isso causar a perda de arquivos (por exemplo, porque há um A_x.csve B_x.csv).

informação relacionada