Search and Replace file

I have some 50+ conf files that I am working. I need to find and replace various variable for all these files. For example, I'd like to find the line
Amplitude = 100; and replace it to: Amplitude = 200; for all files.
I've searched in online and found the solution only for one file. I'm looking for a way to do that in matlab. Any ideas?

 Accepted Answer

Jonathon Gibson
Jonathon Gibson on 28 Jun 2018
Edited: Jonathon Gibson on 28 Jun 2018
If you're on a Unix system, and currently in the directory with the conf files, you can run from MATLAB:
!sed -i 's/Amplitude = 100;/Amplitude = 200;/g' ./*
Which will check every file in the current directory (./*) for the first regular expression (Amplitude = 100;) and replace it with the second regular expression (Amplitude = 200;). The ! just makes it the same as entering the command directly into the system's terminal.

5 Comments

Thanks. I am using Linux. It does not work in Linux system.
!sed -i 's/Amplitude = 100;/Amplitude = 200;/g' ./*
Thanks. I run the command in the command window in Matlab. It does not change the text. Did I do anything wrong?
sed is sensitive to spacing and upper/lower case. For example if there were two spaces between the = and the 100, then the above command would not match. The version that is not sensitive to spacing is
!sed -i 's/Amplitude\s*=\s*100;/Amplitude = 200;/g' ./*
Thank you so much. It's working now.

Sign in to comment.

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!