
Diga que eu tenho
#include <prog1/foo.h>
#include <prog1/bar.h>
#include <prog1/baz.h>
Eu tenho que substituí-lo por
#include <prog1/prog1/foo.h>
#include <prog1/prog1/bar.h>
#include <prog1/prog1/baz.h>
Eu só sei como encontrar a correspondência original, como:
sed -i -e '/#include\s<prog1\/.*\.h>/' testfile
Mas não tenho ideia de como colocar algo no meio do barbante
Responder1
sed
abordagem:
sed -E '/^#include/ s/<prog1/&\/prog1/' testfile
A saída:
#include <prog1/prog1/foo.h>
#include <prog1/prog1/bar.h>
#include <prog1/prog1/baz.h>
-E
a opção é adicionada para casos mais estendidos. O simples atual funcionará mesmo sem ele.