用于拆分档案的 Unix 工具

ric*_*cho 2 unix

由于需要,我将一个 svn 存储库转储到一个巨大的 USB 磁盘,该磁盘格式化为 FAT(将此视为不可更改)。

当您尝试创建大于 4 GB 的文件时,它会出错。

我需要一个工具,我可以将数据通过管道传输到该工具,该工具将创建任意大小的文件,当这些文件组合在一起时将成为原始文件。我可以编写一个工具来做到这一点,但如果已经存在,我宁愿使用它。

干杯

编辑:再看一下拆分的手册页看起来可能会起作用。

jld*_*ger 8

SVN 转储是一个巨大的文件,4GB 后 FAT 会输出。

split 是一个 unix 工具,可以将输入接收到一系列文件中。从联机帮助页

NAME
       split - split a file into pieces

SYNOPSIS
       split [OPTION]... [INPUT [PREFIX]]

DESCRIPTION
       Output  fixed-size  pieces of INPUT to PREFIXaa, PREFIXab, ...; default
       size is 1000 lines, and default PREFIX is `x'.  With no INPUT, or  when
       INPUT is -, read standard input.
Run Code Online (Sandbox Code Playgroud)

类似的东西svnadmin dump $reponame | split -d -b 1073741824 "$reponame." -d会给你 $reponame.1, $reponame.2 等等,每个都有一个千兆字节的文件。希望 FAT 能够继续处理多个大文件。

要将它们重新组合在一起,请使用 cat: cat $reponame.* | svnadmin load $reponame"