飞鱼一夏 發表於 2023-8-21 00:00:00

Linux下文件的切分与合并的简单方法介绍

<p>
        linux下文件分割可以通过split命令来实现,可以将一个大文件拆分成指定大小的多个文件,并且拆分速度非常的快,可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。</p>
<p>
        <span><strong>在Linux下用split进行文件分割</strong></span></p>
<p>
        <strong>先看下帮助文档</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_961049">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">Usage: split ... ]</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUT</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">is -, read standard input.</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_454822">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">Mandatory arguments to long options are mandatory for short options too.</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">-a, --suffix-length=N  use suffixes of length N (default 2) 指定拆分文件的后缀长度</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">-b, --bytes=SIZE    put SIZE bytes per output file 按字节拆分,默认单位字节</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">-C, --line-bytes=SIZE  put at most SIZE bytes of lines per output file 指定单行的最大大小,默认单位字节</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">-d, --numeric-suffixes use numeric suffixes instead of alphabetic 用数字作为拆分文件的后缀</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">-l, --lines=NUMBER   put NUMBER lines per output file 按行数进行拆分</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain spaces">   </code><code class="plain plain">--verbose      print a diagnostic just before each</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain spaces">              </code><code class="plain plain">output file is opened</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain spaces">   </code><code class="plain plain">--help   display this help and exit</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="plain spaces">   </code><code class="plain plain">--version output version information and exit</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span><strong>模式一:指定分割后文件行数</strong></span></p>
<p>
        对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割。</p>
<p>
        命令:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_677162">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">split -l 300 large_file.txt new_file_prefix</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        切分后默认生成加后缀aa, ab, ac...以此类推, 当然也可以自定义后缀。</p>
<p>
        <span><strong>模式二:指定分割后文件大小</strong></span></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_155170">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">split -b 10m server.log waynelog</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        对二进制文件我们同样也可以按文件大小来分隔。</p>
<p>
        <strong>在Linux下用cat进行文件合并</strong></p>
<p>
        命令:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterps" id="highlighter_241044">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="ps keyword">cat</code> <code class="ps plain">small_files* &gt; large_file</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span><strong>总结</strong></span></p>
<p>
        以上就是本文关于Linux下文件的切分与合并的简单方法介绍的全部内容,希望对大家有所帮助。欢迎参阅本站Linux相关:Linux中在防火墙中开启80端口方法示例、Linux企业运维人员常用的150个命令分享、浅谈Linux的库文件等,有什么问题尽管留言,有问题咱就改!</p>
<p>
        原文链接:http://www.pythontab.com/html/2017/linuxkaiyuan_0728/1159.html</p>
頁: [1]
查看完整版本: Linux下文件的切分与合并的简单方法介绍