实用 awk 程序大揭秘
1. 大文件分割程序
在处理大文件时,将其分割成小文件是常见需求。split程序就能实现这一功能,其使用方法如下:
split [-count] [file] [prefix]默认情况下,输出文件名为xaa、xab等,每个文件包含 1000 行(最后一个文件可能除外)。若要改变每个文件的行数,可在命令行提供一个带负号的数字,如-500表示每个文件 500 行。若要改变输出文件名前缀,可提供额外参数。
以下是用 awk 实现的split程序:
# split.awk --- do split in awk # # Requires ord() and chr() library functions # usage: split [-count] [file] [outname] BEGIN { outfile = "x" # default count = 1000 if (ARGC > 4) usage() i = 1 if (i in ARGV && ARGV[i] ~ /^-[[:digit:]]+$/) { count = -ARGV[i] ARGV[i] = "" i++