ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Shell] split : 큰 파일을 조건에 따라 자르는 명령어
    Shell & CMD/명령어 리스트 2021. 11. 27. 19:19
    반응형

    파일내용이 너무 길때 일정조건에 따라 잘라 새로운 파일을 생성하는 명령어

     

    [사용예제]

    # 100줄 단위로 자르기(숫자로 넘버링)
    $ split -l100 -d bigfile.csv bigfile.c
    
    # 10byte 단위로 자르기(숫자로 넘버링)
    $ split -b10 -d bigfile.csv bigfile.c

     

    결과 예시

     

    [도움말]

    Usage: /usr/bin/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 : 뒤에 붙는 파일명의 길이. --additional-suffix : 분할파일명
      -a, --suffix-length=N   generate suffixes of length N (default 2) 
          --additional-suffix=SUFFIX  append an additional SUFFIX to file names  
    
    # 파일 분할옵션.
      -b, --bytes=SIZE        put SIZE bytes per output file 
      -C, --line-bytes=SIZE   put at most SIZE bytes of records per output file
      -d                      use numeric suffixes starting at 0, not alphabetic 
          --numeric-suffixes[=FROM]  same as -d, but allow setting the start value
      -x                      use hex suffixes starting at 0, not alphabetic
          --hex-suffixes[=FROM]  same as -x, but allow setting the start value
      -e, --elide-empty-files  do not generate empty output files with '-n'
          --filter=COMMAND    write to shell COMMAND; file name is $FILE
      -l, --lines=NUMBER      put NUMBER lines/records per output file
      -n, --number=CHUNKS     generate CHUNKS output files; see explanation below
      -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/...'
          --verbose           print a diagnostic just before each
                                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).
    Binary prefixes can be used, too: KiB=K, MiB=M, and so on.
    
    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: <https://www.gnu.org/software/coreutils/>
    Report any translation bugs to <https://translationproject.org/team/>
    Full documentation <https://www.gnu.org/software/coreutils/split>
    or available locally via: info '(coreutils) split invocation'
    반응형

    댓글

Designed by Tistory.