Não sei ao certo o que você fez lá, mas se o comando da sua pergunta for o que você executou, você deve ser capaz de reverter isso:
for f in *
do echo mv -v "$f" "${f%"#_*"}"
done
Por favor, não remova o echo
desse comando até ter certeza de que funciona, mas, só para explicar porque eu acho que vai acontecer, aqui está o que eu fiz:
for f in $(seq 100)
do echo $f > file$f
done
Isso me fez 100 arquivos como file1
- file100
e cada um deles continha seu número, então:
$ cat file100
100
assim. Então eu fiz sua coisa:
for f in *
do mv -v "$f" "$f#_*"
done
E eu tinha um monte de arquivos como file1#_*
- file100#_*
. Então eu fiz a minha coisa colada no primeiro codeblock aqui, mas sem o eco e eu fiz ...
$ cat file100
100