不,不能访问 UNIX 系统。
这是你的第一个问题。安装Cygwin让你有一个坚实的外壳,然后你可以学习如何对源代码进行批处理操作。能够grep
轻松解决问题可以更轻松地学习大型代码库,并减少可能导致棘手问题的代码量。
一旦你安装了它,你可以解决你的直接问题
perl -i.bak \
-pe 's/System.out.println\("Product is: "+myProduct\);/System.out.println("Object is: "+myObject);/' \
file0.java file1.java ...
分解它:
-i
意味着将参数视为文件以就地修改
.bak
意味着在进行更改之前制作带有.bak
扩展名的输入文件的副本
-p
意味着将程序包装在一个循环中,该循环抓取一行,运行程序并打印该行
-e 's/.../.../'
表示引用的部分是要运行的程序,它会进行正则表达式替换。
- 其余的是运行它的文件。
或者,
find . -name \*.java
应该列出当前目录下的所有 java 源文件。
假设该目录的路径中没有空格,那么您可以执行
find . -name \*.java | xargs perl -i.bak -pe 's/.../.../'
其中...
是上面的替换以在工作目录下的所有 Java 源上运行它。