我不熟悉osx终端命令。
我有一个包含很多包的java项目。
某些类在不同的包中具有相同的名称。
我需要将所有类文件复制到一个目录中,所以我需要添加 每个文件对应的包前缀。
例如,我有root/com/example1/test.java
和root/com/example2/test.java
两个在不同包中具有相同名称的类。我需要将它们复制到root
目录并添加前缀,使它们成为example1.test.java
目录中的example2.test.java
和root
。
如何使用终端命令执行此操作?
答案 0 :(得分:-1)
这个解决方案并不完美,但它应该做你想要的(假设我理解你的问题):
使用以下内容创建文件doCopy.sh
:
#!/bin/bash
origName=$1
newName=$(echo $origName | sed -e 's|/|.|g')
echo cp $origName $newName
然后将其设为可执行文件并为每个文件调用它:
chmod +x doCopy.sh
find root -type f -exec ./doCopy.sh {} \;
请验证将要打印的命令。如果您满意,可以从echo
删除doCopy.sh
并重新运行find
以实际复制文件。