0

Java ファイルにライセンス テキストがあります。別のライセンスに切り替えたい。それを行うためのJavaファイルがたくさんあります。「sed」コマンドまたはbashスクリプトを使用してどのように行うことができますか?

元のライセンスは次のようになります。

/*
 *いくつかのtxt
 *いくつかのtxt
*/

パッケージ abc;

そして、上記のライセンス テキストを次のように置き換えたいと思います。

/*
 * 新しいライセンス
 * 新しいライセンス
*/

パッケージ abc;
4

2 に答える 2

2

このようなものでうまくいきます...最初に -i フラグを使用せずにテストするか、検索パターンに一致するファイルの最新のバックアップがあることを確認してください。

for file in $(find /path -type f -name "*.jar" -exec egrep 'old license text' \;)
do
  sed -ri 's/old license text/new license text/g' ${file}
done
于 2013-07-10T17:18:21.790 に答える
1

sed、、などに限定されawkますか? Perl でこれを行う方が簡単です。

perl -e 'undef $/;
  $_=<>;
  s|(/\*\n)[\s\S]*(\*/\s*package)|$1 * new license\n * new license\n$2|;
  print' in.txt
于 2013-07-10T10:51:27.540 に答える