Heres meu script bash:
for next in 'ls | grep -P -o "[a-zA-Z0-9]*" | grep -v "^c$" | grep -v "^obj$" | grep -v "^sh$"'
do
mv "$next.c.obj" $next
done
Como você pode ver, é feio. Ele basicamente remove a extensão .c.obj dos arquivos (que, aliás, chegou lá porque eu estraguei o script anterior). Funciona, mas não parece ser a solução mais eficiente.
A escritura já foi feita, por isso, não publique outras formas de fazê-lo (renomear ou sed ou awk).
Eu só quero saber se isso pode ser feito usando somente o grep e o bash, mas com mais elegância.
Tags command-line bash grep