How To Change The Suffix Of Every File In A Directory

Renaming files manually is a boring pain in the butt. It's dumb data entry work that a computer should be able to do for you. Changing the suffix of every file is even more annoying. Say you want to change every .txt file to a .csv file and you have hundreds of files? That's going to take forever to do manually. Life is short.

Luckily on Mac and Linux machines there is a simple command to change every suffix of every file in a directory.

Before running these commands, be sure to backup your folder. You don't want to accidentally delete all your files.

Using rename

You can use the rename command in the terminal to change suffixes of files in a directory on a Mac. Here's how you can do it:

  1. Open Terminal.
  2. Navigate to the directory where your files are located using the cd command. For example, if your files are in a directory named "my_files" on your desktop, you would type: cd Desktop/my_files.
  3. Once you're in the directory, you can use the rename command to change the suffix of all files. For example, if you want to change all .txt files to .doc, you can use the following command:
rename 's/\.txt$/.doc/' *.txt

This command will rename all files with a .txt extension to have a .doc extension. Adjust the suffixes and the regular expression pattern in the command according to your specific requirements.

Using A Loop and mv Command

If rename is not available on your machine (command not found), you can loop through your files and move them to a new suffix.

  1. Open Terminal.
  2. Navigate to the directory where your files are located using the cd command.
  3. Use a for loop to iterate over all files in the directory and rename them as needed. For example, if you want to change all .txt files to .doc, you can use the following command:
for file in *.txt; do mv "$file" "${file%.txt}.doc"; done

Explanation of the command:

This method achieves the same result as using the rename command but without relying on it.