linux之文件分割split命令详解 您所在的位置:网站首页 如何分割文本文件 linux之文件分割split命令详解

linux之文件分割split命令详解

2024-04-09 11:04| 来源: 网络整理| 查看: 265

linux之文件分割split命令详解

进行文件分割时我们需要考虑几个问题:

如何分割?是按行分割还是按文件大小分割?是每100行分成一个文件还是每100K分成一个文件?分割以后子文件名称是什么格式的? split命令格式: split + 参数 + 要分割的文件 + 分割后子文件前缀

例如:split -a3 -l 100 -d /test/logs.txt /test/logs/log.

参数: 参数解释-a后缀长度,例如-a3表示后缀长度为3-l按照行数将文件分割成多个小文件-b按照字节数将文件分割成多个小文件-d指定后缀编码为数字,默认编码为字母

【1】每100行分成一个文件,后缀为数字,后缀长度为3位,前缀为log. split -a3 -l 100 -d /test/logs.txt /test/logs/log. -a3表示子文件后缀长度为3,-l 100表示每100行分割成一个文件,-d表示后缀为数字,因此后缀为000、001、002……

[root@linuxforliuhj test]# split -a3 -l 100 -d /test/logs.txt /test/logs/log. [root@linuxforliuhj test]# ll logs -rw-r--r--. 1 root root 2692 Dec 27 22:12 log.000 -rw-r--r--. 1 root root 2800 Dec 27 22:12 log.001 -rw-r--r--. 1 root root 2800 Dec 27 22:12 log.002 -rw-r--r--. 1 root root 2800 Dec 27 22:12 log.003 -rw-r--r--. 1 root root 2800 Dec 27 22:12 log.004 -rw-r--r--. 1 root root 2800 Dec 27 22:12 log.005 -rw-r--r--. 1 root root 2800 Dec 27 22:12 log.006 -rw-r--r--. 1 root root 2800 Dec 27 22:12 log.007 -rw-r--r--. 1 root root 2800 Dec 27 22:12 log.008 -rw-r--r--. 1 root root 2801 Dec 27 22:12 log.009

【2】每100行分成一个文件,后缀为字母,后缀长度为3位,前缀为log. split -a3 -l 100 /test/logs.txt /test/logs/log. 去掉-d参数,默认即表示后缀为小写字母,所以后缀为aaa、aab、aac……

[root@linuxforliuhj test]# split -a3 -l 100 /test/logs.txt /test/logs/log. [root@linuxforliuhj test]# ll logs -rw-r--r--. 1 root root 2692 Dec 27 22:25 log.aaa -rw-r--r--. 1 root root 2800 Dec 27 22:25 log.aab -rw-r--r--. 1 root root 2800 Dec 27 22:25 log.aac -rw-r--r--. 1 root root 2800 Dec 27 22:25 log.aad -rw-r--r--. 1 root root 2800 Dec 27 22:25 log.aae -rw-r--r--. 1 root root 2800 Dec 27 22:25 log.aaf -rw-r--r--. 1 root root 2800 Dec 27 22:25 log.aag -rw-r--r--. 1 root root 2800 Dec 27 22:25 log.aah -rw-r--r--. 1 root root 2800 Dec 27 22:25 log.aai -rw-r--r--. 1 root root 2801 Dec 27 22:25 log.aaj

【3】每2K分成一个文件,后缀为字数字,后缀长度为2位,前缀为log. split -a3 -b 2048 -d /test/logs.txt /test/logs/log. -b 2048表示每2048个字节,即每2048B分割成一个文件

[root@linuxforliuhj test]# split -a3 -b 2048 -d /test/logs.txt /test/logs/log. [root@linuxforliuhj test]# ll -h logs total 56K -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.000 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.001 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.002 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.003 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.004 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.005 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.006 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.007 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.008 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.009 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.010 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.011 -rw-r--r--. 1 root root 2.0K Dec 27 22:29 log.012 -rw-r--r--. 1 root root 1.3K Dec 27 22:29 log.013

注意:当分割后文件的数量大于后缀能表达的最大文件数时,会报错:split: output file suffixes exhausted 例如split -a1 -b 2048 -d /test/logs.txt /test/logs/log.这个命令能分割出14个文件,但是使用-a1命令使得后缀只能表示10个文件,所以实际文件数量超出后缀能表达的文件数量,会报错



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有