【发布时间】:2014-12-09 00:57:34
【问题描述】:
在我的外置硬盘中,我有两个分区,一个用于 Mac,另一个用于 Windows (FAT32)。由于 Time Machine 备份,我的 Mac 分区几乎已满,我想将我的一些旧文件夹(其中是电影)从 Mac 分区移动到 Windows 分区。但是,FAT32 文件系统只允许每个文件小于 4GB。但我的一些文件夹包含大于 4G 的文件。我不想手动浏览每个文件夹,检查大小,然后复制并粘贴小尺寸的文件夹。
所以我的问题是:
移动小于4GB的所有文件夹(包括子目录)到新分区的命令是什么?和mv命令的选项有关系吗?
谢谢
--- 2014 年 12 月 7 日更新---
我跑了find . -mindepth 1 -type d -exec bash -c 'f="$1";set $(du -bs "$f"); \ [[ $1 -lt 4294967296 ]] && echo mv "$f" /dest-dir' - '{}' \; >> output.txt。
以下是我输出的前几行:
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.stZBByQJc0/Render
BASH=/bin/bash
BASH_ARGC=([0]="1")
BASH_ARGV=([0]=".")
BASH_EXECUTION_STRING=$'f="$1";set $(du -bs "$f"); \\\n [[ $1 -lt 4294967296 ]] && echo mv "$f" /Volumes/WIN_PANC/movies/'
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="2" [2]="53" [3]="1" [4]="release" [5]="x86_64-apple-darwin14")
BASH_VERSION='3.2.53(1)-release'
CLICOLOR=1
COLORFGBG='15;0'
它们不是我要移动的文件夹。我做得对吗?
【问题讨论】:
-
这些是文件系统的典型限制,而不是命令的限制。无论如何,野兽可能不依赖任何系统内置存储来存储此类媒体内容。获得一个像样的外部驱动器(例如 USB),在其上放置一个您的系统都可以读取的像样的文件系统,并且您再也不会遇到此类问题。
-
@arkascha:现代 FS 没有这样的限制。并且外部驱动器(通常)同样不可靠。
-
@KarolyHorvath 问题不在于驱动器,而在于文件系统。所以不要责怪驱动器。关于“现代”文件系统......这里的“现代”是什么,它有什么帮助?我们不知道 OP 使用的是什么文件系统。查看他的设置,我希望这是一个旧的安装。
-
@arkascha:1)我没有责怪驱动器。 2)OP具体说明了他使用的是什么FS。 3) 冷静下来
-
@KarolyHorvath 实际上,OP 指定了所涉及的两个文件系统之一。这已经解释了问题。我仍然读到您将此类问题归咎于驱动器:“外部驱动器(通常)同样不可靠。”。相信我:我很酷 :-)