1

Add header (copyright) information to existing source filesの手順に従って、建物から送信する多数のソース ファイルに著作権ヘッダーを追加する必要があります。(私も著作権ヘッダーが嫌いですが、独自のソース ファイルをリリースするときのポリシーです。「誰かにポリシーを放棄するよう説得する」ことは役に立たず、質問に答えていないと考えてください。)

すべてのファイル (dirdir.orig) の 2 つのコピーがあり、 内からdir.orig使用しています

find . -name \*.cs -exec sh -c "mv '{}' tmp && cp ../header.txt '../dir/{}'
  && cat tmp >> '../dir/{}' && rm tmp" \;

これは機能していますが、ヘッダー、元のソース ファイルのBOMの順に表示されますが、BOM を最初に移動するか削除することをお勧めします。

tmp(これを見て、元のファイルを上書きしていないので、ファイルを移動する必要がないことに気付きましたが、他のSOの質問の例からそれを削除しませんでした。)

新しく追加されたヘッダーの直後に BOM が表示されないように、BOM を削除 (または移動) するにはどうすればよいですか?

4

1 に答える 1

1

関連する質問に関するスティーブン・R・ルーミスuconvからのこの回答から指摘されたおかげで、私は自分の解決策を見つけたかもしれないと思います。

私が使用する場合

find . -name *.cs -exec sh -c "cp ../header.txt '../dir/{}'
  && uconv --remove-signature -f UTF-8 -t UTF-8 '{}' >> '../dir/{}'" \;

の場合、入力 ( ) と出力 ( )の両方のエンコーディングが UTF-8 であるとuconv想定しますが、見つかった BOM はすべて削除されます。-f-t--remove-signature

于 2012-02-06T13:14:50.693 に答える