git: 9front

ref: 27ff6876d02ff5d326d6ee13d2466a6e4a3e0925
dir: /sys/src/9/port/mkextract/

View raw version
#!/bin/rc

switch($#*){
case [012]
	echo usage: mkextract [-u] field n file... >[1=2]
	exit 1
}

switch($1){
case -u
	flag=$1; shift
case *
	flag=''
}

field=$1
n=$2
shift 2

fn select {
	awk '

		BEGIN			{ doprint=0 }
		/^$/			{ next }
		/^#/			{ next }
		doprint && /^[^	]/	{ doprint=0 }
		doprint			{ print $'^$n^' }
		$1 ~ "^'^$field^'$"	{ doprint=1; next }
	' $*
}

switch($flag){
case -u
	select $* | sort -u
case *
	select $*
}