サブディレクトリのファイルに行を挿入するスクリプト

サブディレクトリのファイルに行を挿入するスクリプト

さまざまな数のブランチを持つサブディレクトリツリーがあり、ほとんどのブランチには.cppファイル(多くのファイル)が含まれています。ツリールートに私が欲しいヘッダファイルがあります。

#include "<constructed-relative-path-to-root>/headerfile.h"

すべての.cppの最初の行に。

別のオプションconstructed-relative-path-to-rootはパスをハードコーディングすることです。このパスは、プロジェクトが再配置されるたびに調整する必要があります。

2番目のオプションは、ヘッダーファイルの内容を各.cppファイルの先頭にコピーすることです。

このようなスクリプトを書く方法がわかりません。誰でも助けることができますか?

ベストアンサー1

木の根から走る

find . -name \*cpp | while read FILE
do
    sed -i '1i #include "rootpath/headerfile.h"' "$FILE"
done

おすすめ記事