【问题标题】:OSX Terminal command to move all files in directoryOSX终端命令移动目录中的所有文件
【发布时间】:2014-11-24 05:49:07
【问题描述】:

我现在在 OSX 终端并尝试将大量文件从 ~/Desktop/dir/ 移动到 ~/Desktop/dir/dir2

命令

mv *.* ~/Desktop/dir/dir2

没用。

【问题讨论】:

  • 您遇到什么错误?您从哪个目录运行 mv 命令?
  • 试图从 ~/Desktop/dir 移动。错误是“参数太多”

标签: macos shell terminal command-line-interface


【解决方案1】:

您收到"too many argument" 是因为~/Desktop/dir/ 中的文件可能太多,命令行上的全局匹配模式允许这些文件。

要将所有文件从~/Desktop/dir/ 移动到~/Desktop/dir/dir2,请改用find

find ~/Desktop/dir/ -type f -execdir mv '{}' ~/Desktop/dir/dir2 \;

或者移动包括文件和目录在内的所有内容:

cd ~/Desktop/dir/
find . -path './dir2' -prune -o ! -name . -exec mv '{}' ./dir2 \;

即除了dir2. 以外的所有内容都移动到~/Desktop/dir/dir2

【讨论】:

  • 您在哪里看到 OP 出现“参数过多”错误?
  • @trojanfoe:这是 OP 对我上述问题的回应。
【解决方案2】:

*.* 匹配在第二个或更多位置有一个点的所有文件名。它不会匹配没有点的文件名。改用* 将匹配所有不以点开头的文件名。

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 2015-11-23
    • 2017-04-29
    • 2016-01-12
    • 2011-11-29
    • 2010-10-21
    相关资源
    最近更新 更多