I've been using this line to remove spaces from file names in Linux.

Usually Windows users like to add spaces in the file names, I prefer dashes (-) or under scores (_) instead, they are easy to manage in the console.

I've found this command a long time ago in a forum, and still have it on my personal notes.

Here posted for everybody:

  for file in *; do mv "$file" `echo $file | sed -e 's/  */_/g' -e 's/_-_/-/g'`; done