How to move files from deep subdirectory structure to toplevel directory on Linux

This command line approach is rather primitive but will not overwrite files.

Run this repeatedly until all files are gone:

mv --backup=numbered **/* . && rmdir *