【问题标题】:How to emulate cp and mv --parent on osx如何在 osx 上模拟 cp 和 mv --parent
【发布时间】:2011-03-29 07:24:46
【问题描述】:

Osx mv 和 cp 没有 --parents 选项,那么如何模拟它呢?

即mv x/y/a.txt s/x/y/a.txt 当 s 为空时会给出未找到目录错误,除非先执行 mkdir,这在尝试执行数千个文件时相当麻烦。

【问题讨论】:

  • 你试过cp -R吗?还是你不想要整个结构?

标签: macos cp mv


【解决方案1】:

解决方案(适用于所有具有 rsync 的平台)是:

使用 find 或其他工具创建包含您要移动/复制的文件的文件,即

find *.mp3 > files.txt

然后使用 rsync files-from 来指定它,并使用 --remove-source-files 它的行为就像 mv -p 并且没有它像 cp -p 一样工作:

rsync --files-from=files.txt --remove-source-files src dest 

比原生 mv/cp 慢,但它的可恢复和 rsync 提供了更多选项,否则也有助于清理文件。

【讨论】:

  • 好电话。此外,您可以安装命令行实用程序的 MacPorts 版本,但是如果您要通过 PATH、EXPORT、ALIAS 或符号链接完全替换默认实用程序,这很可能会破坏很多东西。
  • 很好的解决方案,但可能需要移动输出(复制)文件的额外步骤。例如,我试图将所有 wav 音频文件从/Volumes/Music.../iTunes/...(外部磁盘)移动到~/Music/iTunes/...(内部磁盘)...我最终得到了/Volumes/Music.../iTunes/... inside 的额外子树i> 输出目录,但这很容易通过移动文件来解决。
猜你喜欢
  • 1970-01-01
  • 2019-06-22
  • 2015-03-29
  • 2016-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多