前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用split命令来拆分文件

如何用split命令来拆分文件

作者头像
Zeng
发布2018-09-10 12:01:07
4.4K0
发布2018-09-10 12:01:07

split命令是什么?

split是一个类似于greptail的Unix命令行实用程序。它允许您将较大的文件分成几个较小的文件。

注意 默认情况下,split某些选项在macOS上不起作用,因为没有预先安装split的GNU版本。请先使用Homebrew命令安装brew install coreutils然后在GNU split via中调用gsplit

示例文件

1. 在文本编辑器中创建example.txt并添加以下内容:

example.txt 1 2 3 4 5 6 7 8 9 10 example line 1 example line 2 example line 3 example line 4 example line 5 example line 6 example line 7 example line 8 example line 9 example line 10

2. 下载Moby Dick的文本以演示使用更大的文件: wget -O moby-dick.txt https://archive.org/stream/mobydickorwhale01melvuoft/mobydickorwhale01melvuoft_djvu.txt

基本用法

1. 使用默认选项运行split命令: split moby-dick.txt

2. 检查您的工作目录: ls moby-dick.txt xaa xab xac xad xae xaf xag ... 目录(xaaxab等)中的新文件都包含原始文件的一部分。默认情况下,split将文件分为每个1000行的子文件。原始moby-dick.txt文件有16,000行,产生16个子文件。原始moby-dick.txt文件保持不变。

选项和参数

前缀

split命令第一个参数是文件的名称,如上所示。可选的第二个参数允许您指定输出文件的前缀。默认情况下,此值为x

代码语言:javascript
复制
split moby-dick.txt moby-dick

使用上述命令,输出的每个文件名都将以moby-dick开头。

代码语言:javascript
复制
moby-dick.txt moby-dickaa moby-dickab moby-dickac ...
按行数拆分

-l选项设置每个子文件的行长度。默认情况下,此值为1000。以下命令输出的文件将包含两行文本:

代码语言:javascript
复制
split -l 2 example.txt
代码语言:javascript
复制
$ cat xaa
example line 1
example line 2
按大小拆分

-b(或--size)选项,将通过大小,而不是行数拆分文件。以下命令将输入​​文件拆分为每个大小为100KB的子文件:

代码语言:javascript
复制
split -b 100k moby-dick.txt

您可以使用不同的单位指定此值:

  • 兆字节 -
  • 千兆字节 - g
  • 太字节 -
按文件数分割

如果要将文件拆分为特定数量的子文件,无论大小或长度如何,请使用-n选项。例如,要将文件拆分为3个部分:

代码语言:javascript
复制
split -n 3 example.txt
用数字来标记文件

使用-d选项以数字方式而不是按字母顺序标记输出文件:

代码语言:javascript
复制
split -l 2 -d example.txt
代码语言:javascript
复制
x00 x01 x02 x03 x04
设置后缀长度

使用-a选项设置标记输出文件时使用的位数或字母数。此选项默认为两个(即x00)。

代码语言:javascript
复制
split -a 1 -d -l 2 example.txt
代码语言:javascript
复制
x0 x1 x2 x3 x4

高级示例

以下命令将上面的选项进行组合并将example.txt拆分成4个子文件,每个子文件都以example-为前缀并用数字标记:

代码语言:javascript
复制
split -a 1 -n 4 -d example.txt example-
代码语言:javascript
复制
example-0 example-1 example-2 example-3 example.txt

split命令也可用于显示部分文件而无需创建子文件。以下命令将Moby Dick分解为100个(不创建任何新文件)并显示其中的第10个:

代码语言:javascript
复制
split -n 10/100 moby-dick.txt

与许多shell命令一样,通过使用管道运算符,split命令也可以接受来自另一个命令的输出作为输入:

代码语言:javascript
复制
grep whale moby-dick.txt | split -l 100
评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • split命令是什么?
  • 示例文件
  • 基本用法
  • 选项和参数
    • 前缀
      • 按行数拆分
        • 按大小拆分
          • 按文件数分割
            • 用数字来标记文件
              • 设置后缀长度
              • 高级示例
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档