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