split.awk

来自「gawk: linux下资料处理工具」· AWK 代码 · 共 58 行

AWK
58
字号
# split.awk --- do split in awk## Requires ord and chr library functions## Arnold Robbins, arnold@skeeve.com, Public Domain# May 1993# usage: split [-num] [file] [outname]BEGIN {    outfile = "x"    # default    count = 1000    if (ARGC > 4)        usage()    i = 1    if (ARGV[i] ~ /^-[0-9]+$/) {        count = -ARGV[i]        ARGV[i] = ""        i++    }    # test argv in case reading from stdin instead of file    if (i in ARGV)        i++    # skip data file name    if (i in ARGV) {        outfile = ARGV[i]        ARGV[i] = ""    }    s1 = s2 = "a"    out = (outfile s1 s2)}{    if (++tcount > count) {        close(out)        if (s2 == "z") {            if (s1 == "z") {                printf("split: %s is too large to split\n",                       FILENAME) > "/dev/stderr"                exit 1            }            s1 = chr(ord(s1) + 1)            s2 = "a"        }        else            s2 = chr(ord(s2) + 1)        out = (outfile s1 s2)        tcount = 1    }    print > out}function usage(   e){    e = "usage: split [-num] [file] [outname]"    print e > "/dev/stderr"    exit 1}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?