【发布时间】:2017-02-20 11:54:57
【问题描述】:
我有以下命令
find ./ -type f -exec perl -pi -e 's/<pattern>//g' '{}' \;
它运行良好并删除了模式,但我怎样才能删除模式、它所在的行以及之后的 n 行?
【问题讨论】:
-
每个文件中的模式可以存在两次以上吗?您只想替换 2 个实例吗?
-
它与 Perl 无关,但与
find:如果你使用 GNU find,那么你可以写find ./ -type f -exec perl … '{}' +而不是find ./ -type f -exec perl … '{}' \;。注意+而不是\;。然后find将一次调用具有多个文件名的perl(与命令行一样多),从而显着减少整体执行时间。 -
@PerlDog 谢谢。它确实显着改善了它。