【问题标题】:How to copy files and add prefix at the same time?如何同时复制文件和添加前缀?
【发布时间】:2015-07-28 04:53:22
【问题描述】:

我不熟悉osx终端命令。

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

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

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

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

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

【问题讨论】:

  • 这个问题似乎与Java无关。如果是这样,请删除问题中不必要的部分以避免混淆。

标签: macos bash terminal command


【解决方案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 {} \;

请验证将打印的命令。如果您满意,您可以从doCopy.sh 中删除echo,然后重新运行find 以实际复制文件。

【讨论】:

  • 谢谢!你的解决方案就是我需要的!
  • @downvoter:愿意解释投票的原因吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 2012-02-12
相关资源
最近更新 更多