handle SIGPIPE
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -25,6 +25,7 @@ Tzum/xml2txt
|
||||
VRT/metadata
|
||||
VRT/vrt
|
||||
bin/ISOWeek
|
||||
bin/flush
|
||||
bin/score
|
||||
bin/top20
|
||||
bin/week2files
|
||||
|
||||
4
Makefile
4
Makefile
@@ -11,6 +11,7 @@ all:
|
||||
make -C Tzum
|
||||
make -C VRT
|
||||
make bin/ISOWeek
|
||||
make bin/flush
|
||||
make bin/score
|
||||
make bin/top20
|
||||
make bin/week2files
|
||||
@@ -18,6 +19,9 @@ all:
|
||||
bin/ISOWeek: cmd/ISOWeek/*.go
|
||||
go build -o $@ $^
|
||||
|
||||
bin/flush: cmd/flush/*.go
|
||||
go build -o $@ $^
|
||||
|
||||
bin/score: cmd/score/*.go
|
||||
go build -o $@ $^
|
||||
|
||||
|
||||
26
cmd/flush/flush.go
Normal file
26
cmd/flush/flush.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
func main() {
|
||||
doOUt := true
|
||||
chSignal := make(chan os.Signal, 1)
|
||||
signal.Notify(chSignal, syscall.SIGPIPE)
|
||||
scanner := bufio.NewScanner(os.Stdin)
|
||||
for scanner.Scan() {
|
||||
line := scanner.Text()
|
||||
select {
|
||||
case <-chSignal:
|
||||
doOUt = false
|
||||
default:
|
||||
}
|
||||
if doOUt {
|
||||
os.Stdout.WriteString(line + "\n")
|
||||
}
|
||||
}
|
||||
}
|
||||
9
namen.sh
9
namen.sh
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
PATH=/net/corpora/nlnieuws/bin:$PATH
|
||||
|
||||
PROGNAME=$0
|
||||
usage() {
|
||||
echo "
|
||||
@@ -120,10 +122,13 @@ case $XN in
|
||||
;;
|
||||
esac
|
||||
|
||||
HEAD=''
|
||||
TAIL=''
|
||||
if [ $LIMIT -gt 0 ]
|
||||
then
|
||||
TAIL=" | head -n $LIMIT"
|
||||
HEAD=" | flush | head -n $LIMIT"
|
||||
else
|
||||
TAIL=" | flush"
|
||||
fi
|
||||
if [ $USEPAGER = 1 ]
|
||||
then
|
||||
@@ -140,7 +145,7 @@ fi
|
||||
|
||||
search () {
|
||||
# $'\t' in bash is een tab
|
||||
CMD="alto $@ '$EXPR' '$TEMPLATE' | $SORT | uniq -c | sed -e 's/\([0-9]\) */\1\t/' | sort -f -k 2 2> /dev/null | sort -n -r -k 1,1 -s 2> /dev/null | column -t -s '"$'\t'"' -c 0 2> /dev/null$TAIL"
|
||||
CMD="alto $@ '$EXPR' '$TEMPLATE' | $SORT | uniq -c | sed -e 's/\([0-9]\) */\1\t/' | sort -f -k 2 | sort -n -r -k 1,1 -s$HEAD | column -t -s '"$'\t'"' -c 0$TAIL"
|
||||
if [ $VERBOSE = 1 ]
|
||||
then
|
||||
echo "$CMD"
|
||||
|
||||
Reference in New Issue
Block a user