Brace yourself, I’m in an expansive mood (2019)
leancrew.com
leancrew.com
echo {w,t,}h{e{n{,ce{,forth}},re{,in,fore,with{,al}}},ither,at} mv topo{lo,raph}ical.data
mv proj/src/{main,test}/com/org/proj/Test.java mv topo{log,graph}ical.data
It works because it expands to mv topological.data topographical.data
try it with echo instead of mv to see how it expands. Other uses: mv myfile.txt{,.tmp} # add extension
mv mymusic.{mp3,mp4} # change extension
mv myarchive.{zip,jar}