因为最后一次Java实验,老师要求在代码行后不要留注释,可以在一些代码段前使用注释。但是因为在这之前我已经写完了,而且加了比较多的注释,如果一个一个删除的话太麻烦,正好这学期学了linux shell,所以我想到使用shell脚本把项目下所有源文件代码行后的注释删掉。虽然是在Windows环境下,但是因为之前为了管理代码下载了Git Bash,所以可以在Git Bash 中使用linux命令。(可以在 http://gitforwindows.org/ 下载GitBash)
因为linux 命令对文件的操作非常方便,所以,我先使用ls -R 命令,递归的列出当前文件夹下所有的文件。因为在显示的结果中,会先在一行显示路径(如下图所示),之后再在下面显示该路径下的文件。然后将路径的名称保存在一个临时文件中。
最后,使用sed 。一开始,我在脚本中是用的`sed -i -r 's/(.*)\/\/.*/\1/ $pathname/*.java'`,但是运行后却把分号与注释之间包括注释符删除掉了。所以我把步骤分为两步,首先把注释符替换为换行回车和分号,再把以分号开头的行删掉。脚本内容如下:
#! /bin/