37 lines
435 B
Bash
Executable file
37 lines
435 B
Bash
Executable file
#!/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 $*
|
|
}
|