Search and Replace file

4 visualizaciones (últimos 30 días)
Namira
Namira el 28 de Jun. de 2018
Editada: Jonathon Gibson el 28 de Jun. de 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?

Respuesta aceptada

Jonathon Gibson
Jonathon Gibson el 28 de Jun. de 2018
Editada: Jonathon Gibson el 28 de Jun. de 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 comentarios
Walter Roberson
Walter Roberson el 28 de Jun. de 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 el 28 de Jun. de 2018
Thank you so much. It's working now.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by