私が持っていると言う
#include <prog1/foo.h>
#include <prog1/bar.h>
#include <prog1/baz.h>
に交換する必要があります
#include <prog1/prog1/foo.h>
#include <prog1/prog1/bar.h>
#include <prog1/prog1/baz.h>
私は元の一致を見つける方法を知っています:
sed -i -e '/#include\s<prog1\/.*\.h>/' testfile
しかし、文字列の途中に何かを入れる方法がわかりません。
答え1
sed
方法:
sed -E '/^#include/ s/<prog1/&\/prog1/' testfile
出力:
#include <prog1/prog1/foo.h>
#include <prog1/prog1/bar.h>
#include <prog1/prog1/baz.h>
-E
より拡張されたケースのオプションが追加されました。それがなくても、現在の簡単なアプローチは機能します。