如何在所有文件中注释掉一行?

时间:2014-07-23 22:07:09

标签: bash shell unix awk sed

我有数百个文件中的特定行必须被注释掉。什么命令合适?

该行看起来像:

       include $DIR/make/makefile.am

2 个答案:

答案 0 :(得分:4)

您可以使用sed

sed -i.bak 's~^[[:blank:]]*include \$DIR/make/makefile\.am~#&~' file

答案 1 :(得分:2)

如果要在数百个文件上运行此命令,可以在查找中运行anubhava建议的命令。

find <dir> -type f -name makefile.am -exec sed -i.bak 's~^[[:blank:]]*include \$DIR/make/makefile\.am~#&~' {} \;

您希望以递归方式搜索makefile.am并注释掉include语句的基本目录。

希望它对你有所帮助。

您可以根据需要进一步调整命令。