Welcome to the Tweaking4All community forums!
When participating, please keep the Forum Rules in mind!
Topics for particular software or systems: Start your topic link with the name of the application or system.
For example “MacOS X – Your question“, or “MS Word – Your Tip or Trick“.
Please note that switching to another language when reading a post will not bring you to the same post, in Dutch, as there is no translation for that post!
[Solved] macOS - Search and Replace text in multiple text files
(@hans)
Famed Member Admin
Joined: 12 years ago
Posts: 2859
Topic starter
August 14, 2018 2:00 AM
So I just ran into this issue; I had a bunch of txt files and in all these files I wanted to do a search and replace, replacing the word "POSIX" with the word "UNIX".
I've been trying to find a quick way to do this and found a trick used in the Linux world:
perl -pi -w -e 's/SEARCHTHIS/REPLACEWITHTHIS/g;' *.txt
This statement is executed in the directory where the files are.
So in my example:
perl -pi -w -e 's/POSIX/UNIX/g;' *.txt
Note:
- If you want to do this in another directory, then you have two options; either go to that directory or enter a more complete path. For example if I'd like to replace text in any txt file in my home directory:
perl -pi -w -e 's/SEARCH_FOR/REPLACE_WITH/g;' /Users/hans/*.txt
(I know you can type ~ for the home directory, this is just an example with a full path)
- Keep in mind that replacing spaces and such may require escape characters, for example
perl -pi -w -e 's/Search\ This/Replace\ With\ This/g;' *.txt