我有一个文本文件“foo.txt”,它在每一行中指定一个目录:
data/bar/foo
data/bar/foo/chum
data/bar/chum/foo
...
Run Code Online (Sandbox Code Playgroud)
可能有数百万个目录和子目录 使用终端命令批量创建所有目录的最快方法是什么?
最快,我的意思是最快地创建所有目录。由于有数百万个目录,因此有许多写操作。
我正在使用 ubuntu 12.04。
编辑:请记住,该列表可能不适合内存,因为有数百万行,每行代表一个目录。
编辑:我的文件有 450 万行,每行代表一个目录,由字母数字字符、路径分隔符 "/" 和可能的 "../" 组成
当我跑xargs -d '\n' mkdir -p < foo.txt
了一段时间后,它一直打印错误,直到我按 ctrl + c:
mkdir:无法创建目录`../myData/data/a/m/e/d':设备上没有剩余空间
但是运行df -h
会给出以下输出:
Filesystem Size Used Avail Use% Mounted on
/dev/xvda 48G 20G 28G 42% /
devtmpfs 2.0G 4.0K 2.0G 1% /dev
none 401M 164K 401M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
Run Code Online (Sandbox Code Playgroud)
自由 -m
total used free shared buffers …
Run Code Online (Sandbox Code Playgroud) mkdir ×1