我的 Java 文件中有许可证文本。我想用另一个许可证替换它。我有很多 java 文件可以做到这一点。如何使用“sed”命令或 bash 脚本来做到这一点?
原始许可证看起来像,
/* *一些txt *一些txt */ 包 abc;
我想将上面的许可证文本替换为以下内容,
/* * 新许可证 * 新许可证 */ 包 abc;
我的 Java 文件中有许可证文本。我想用另一个许可证替换它。我有很多 java 文件可以做到这一点。如何使用“sed”命令或 bash 脚本来做到这一点?
原始许可证看起来像,
/* *一些txt *一些txt */ 包 abc;
我想将上面的许可证文本替换为以下内容,
/* * 新许可证 * 新许可证 */ 包 abc;
像这样的东西会这样做...确保您首先测试而不使用 -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
您是否仅限于sed
, awk
, 等?在 Perl 中这样做会更容易:
perl -e 'undef $/;
$_=<>;
s|(/\*\n)[\s\S]*(\*/\s*package)|$1 * new license\n * new license\n$2|;
print' in.txt