更新:

这是有效的!

fgrep -ircl --include=*.sql -- -- *

我有各种带有'-'注释的SQL文件,我们迁移到了最新版本的MySQL,它讨厌这些注释。我想用#代替。

我正在寻找一种递归,就地替换的单线。

这就是我所拥有的:
perl -p -i -e 's/--/# /g'` ``fgrep -- -- *

.sql示例文件:
use myDB;

--did you get an error

我收到以下错误:



ps:如果您有兴趣,fgrep跳过2个破折号只是discussed here

任何帮助表示赞赏。

最佳答案

-e 's/.../.../'参数后面的命令行参数应该是文件名。使用fgrep -l返回包含模式的文件的名称:

perl -p -i -e 's/--/# /g' `fgrep -l -- -- * `

10-06 07:12