不,不能访问 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 源上运行它。