如何复制文件并同时添加前缀?

时间:2015-05-16 08:30:27

标签: macos bash terminal command

我不熟悉osx终端命令。

我有一个包含很多包的java项目。

某些类在不同的包中具有相同的名称。

我需要将所有类文件复制到一个目录中,所以我需要添加 每个文件对应的包前缀。

例如,我有root/com/example1/test.javaroot/com/example2/test.java两个在不同包中具有相同名称的类。我需要将它们复制到root目录并添加前缀,使它们成为example1.test.java目录中的example2.test.javaroot

如何使用终端命令执行此操作?

1 个答案:

答案 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以实际复制文件。