Search and Replace file

17 visualizzazioni (ultimi 30 giorni)
Namira
Namira il 28 Giu 2018
Modificato: Jonathon Gibson il 28 Giu 2018
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?

Risposta accettata

Jonathon Gibson
Jonathon Gibson il 28 Giu 2018
Modificato: Jonathon Gibson il 28 Giu 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 Commenti
Walter Roberson
Walter Roberson il 28 Giu 2018
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' ./*
Namira
Namira il 28 Giu 2018
Thank you so much. It's working now.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su File Operations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by