Você poderia tentar algo assim, remover tudo antes do primeiro -
for file in *-*.CSV
do
newName="${file#*-}"
mv -- "${file}" "${newName}"
done
Eu tenho arquivos do > 2000 que são nomeados como
123-FILENAME_TEXT_M101K_20150929.CSV
onde 123
pode ser qualquer número de três ou quatro dígitos. Os arquivos estão todos no mesmo diretório. Eu gostaria de um script que remova o número de prefixo e o traço. (isto é, o 123-
inicial deve ser removido do nome do exemplo)
Eu tentei mv **-FILENAME* FILENAME*
.
rename
não é uma função disponível
Eu tentei usar a combinação de sed, awk e find. Testado e funcionando bem
find . -type f -iname "*.CSV"| sed "s/^\.\///g"| sed -n '/^[0-9]\{4\}/p' | awk -F "-" '{print "mv" " " $0 " " $2}'| sh