Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have some OS X files, some of which have hyphens in their filenames. I want to change all occurrences of hyphens to underscores.

How can I do this from the command line on OS X?

So, if I have this:


I'd like to rename them to this:

share|improve this question
up vote 2 down vote accepted

In Bash, use simple substring replacement, and replace all occurrences of - with _.

for f in *.txt; do mv "$f" "${f//-/_}"; done

The loop will iterate over each .txt file in the current directory.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.