<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Linux 下大文件切割與合并

          共 9452字,需瀏覽 19分鐘

           ·

          2021-08-15 23:14


          責(zé)編:中文妹 | 來(lái)自:Escape
          鏈接: escapelife.github.io/posts/72f237d3.html


          上一篇:謹(jǐn)慎!糟糕程序員的編程風(fēng)格查看

          往往是因?yàn)榫W(wǎng)絡(luò)傳輸?shù)南拗?,?dǎo)致很多時(shí)候,我們需要在 Linux 系統(tǒng)下進(jìn)行大文件的切割。這樣將一個(gè)大文件切割成為多個(gè)小文件,進(jìn)行傳輸,傳輸完畢之后進(jìn)行合并即可。

          文件切割 - split

          在 Linux 系統(tǒng)下使用 split 命令進(jìn)行大文件切割很方便

          搜索公眾號(hào)GitHub猿后臺(tái)回復(fù)“打飛機(jī)”,獲取一份驚喜禮包。

          命令語(yǔ)法

          -a: #指定輸出文件名的后綴長(zhǎng)度(默認(rèn)為2個(gè):aa,ab...)
          -d: #指定輸出文件名的后綴用數(shù)字代替
          -l: #行數(shù)分割模式(指定每多少行切成一個(gè)小文件;默認(rèn)行數(shù)是1000行)
          -b: #二進(jìn)制分割模式(支持單位:k/m)
          -C: #文件大小分割模式(切割時(shí)盡量維持每行的完整性)

          split [-a] [-d] [-l <行數(shù)>] [-b <字節(jié)>] [-C <字節(jié)>] [要切割的文件] [輸出文件名]

          使用實(shí)例

          # 行切割文件
          $ split -l 300000 users.sql /data/users_

          # 使用數(shù)字后綴
          $ split -d -l 300000 users.sql /data/users_

          # 按字節(jié)大小分割
          $ split -d -b 100m users.sql /data/users_
          ```bash

          **幫助信息**

          ```bash
          # 幫助信息
          $ split --help
          Usage: split [OPTION]... [FILE [PREFIX]]
          Output pieces of FILE to PREFIXaa, PREFIXab, ...;
          default size is 1000 lines, and default PREFIX is 'x'.

          With no FILE, or when FILE is -, read standard input.

          Mandatory arguments to long options are mandatory for short options too.
            -a, --suffix-length=N   generate suffixes of length N (default 2)            后綴名稱(chēng)的長(zhǎng)度(默認(rèn)為2)
                --additional-suffix=SUFFIX  append an additional SUFFIX to file names
            -b, --bytes=SIZE        put SIZE bytes per output file                       每個(gè)輸出文件的字節(jié)大小
            -C, --line-bytes=SIZE   put at most SIZE bytes of records per output file    每個(gè)輸出文件的最大字節(jié)大小
            -d                      use numeric suffixes starting at 0, not alphabetic   使用數(shù)字后綴代替字母后綴
                --numeric-suffixes[=FROM]  same as -d, but allow setting the start value
            -e, --elide-empty-files  do not generate empty output files with '-n'        不產(chǎn)生空的輸出文件
                --filter=COMMAND    write to shell COMMAND; file name is $FILE           寫(xiě)入到shell命令行
            -l, --lines=NUMBER      put NUMBER lines/records per output file             設(shè)定每個(gè)輸出文件的行數(shù)
            -n, --number=CHUNKS     generate CHUNKS output files; see explanation below  產(chǎn)生chunks文件
            -t, --separator=SEP     use SEP instead of newline as the record separator;  使用新字符分割
                                      '\0' (zero) specifies the NUL character
            -u, --unbuffered        immediately copy input to output with '-n r/...'     無(wú)需緩存
                --verbose           print a diagnostic just before each                  顯示分割進(jìn)度
                                      output file is opened
                --help     display this help and exit                                    顯示幫助信息
                --version  output version information and exit                           顯示版本信息

          The SIZE argument is an integer and optional unit (example: 10K is 10*1024).
          Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).

          CHUNKS may be:
            N       split into N files based on size of input
            K/N     output Kth of N to stdout
            l/N     split into N files without splitting lines/records
            l/K/N   output Kth of N to stdout without splitting lines/records
            r/N     like 'l' but use round robin distribution
            r/K/N   likewise but only output Kth of N to stdout

          GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
          Full documentation at: <http://www.gnu.org/software/coreutils/split>
          or available locally via: info '(coreutils) split invocation'

          文件合并 - cat

          在 Linux 系統(tǒng)下使用 cat 命令進(jìn)行多個(gè)小文件的合并也很方便

          命令語(yǔ)法

          -n: #顯示行號(hào)
          -e: #以$字符作為每行的結(jié)尾
          -t: #顯示TAB字符(^I)
          cat [-n] [-e] [-t] [輸出文件名]

          使用實(shí)例

          # 合并文件
          $ cat /data/users_* > users.sql
          幫助信息
          # 幫助信息
          $ cat --h
          Usage: cat [OPTION]... [FILE]...
          Concatenate FILE(s) to standard output.

          With no FILE, or when FILE is -, read standard input.

            -A, --show-all           equivalent to -vET
            -b, --number-nonblank    number nonempty output lines, overrides -n
            -e                       equivalent to -vE
            -E, --show-ends          display $ at end of each line
            -n, --number             number all output lines
            -s, --squeeze-blank      suppress repeated empty output lines
            -t                       equivalent to -vT
            -T, --show-tabs          display TAB characters as ^I
            -u                       (ignored)
            -v, --show-nonprinting   use ^ and M- notation, except for LFD and TAB
                --help     display this help and exit
                --version  output version information and exit

          Examples:
            cat f - g  Output f's contents, then standard input, then g's contents.
            cat        Copy standard input to standard output.

          GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
          Full documentation at: <http://www.gnu.org/software/coreutils/cat>
          or available locally via: info '(coreutils) cat invocation'


            聲明:本文部分素材轉(zhuǎn)載自互聯(lián)網(wǎng),如有侵權(quán)立即刪除

          逆鋒起筆是一個(gè)專(zhuān)注于程序員圈子的技術(shù)平臺(tái),你可以收獲最新技術(shù)動(dòng)態(tài)、最新內(nèi)測(cè)資格、BAT等大廠大佬的經(jīng)驗(yàn)增長(zhǎng)自身、學(xué)習(xí)資料、職業(yè)路線、賺錢(qián)思維,微信搜索逆鋒起筆關(guān)注!

          往期精彩
          6 個(gè)“嚇人”的 Linux 命令
          Linux 新手入門(mén)的一些基本知識(shí)點(diǎn)整理
          30 周年,Linux 成功的真正原因是什么?
          10 本最佳 Linux、UNIX 編程書(shū)籍
          Linux 開(kāi)發(fā)過(guò)程那么麻煩,是否值得?

          瀏覽 60
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  在线观看亚洲视频 | AV一区二区三区 | 男女啪啪AV | 三级电影在线播放 | 久久一区二区三区四区六区 |