From 879a7f0eb3393778a2a37aa1bee8cbd16f61814f Mon Sep 17 00:00:00 2001 From: KatolaZ Date: Sun, 5 Jan 2020 16:12:08 +0000 Subject: add bibsum --- bibsum | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 bibsum diff --git a/bibsum b/bibsum new file mode 100755 index 0000000..8e59e54 --- /dev/null +++ b/bibsum @@ -0,0 +1,26 @@ +#!/bin/sh + +# +# Print summaries of bibtex entries in tsv format given as input +# showing only the requested fields +# + +if [ $# -lt 1 ]; then + printf "Usage: %s [...]\n" $0 + exit 1; +fi + +fields=$(echo "$@" | sed -E 's/([a-zA-Z0-9]+)/\1.\*=|/g;s/\ //g') +fields=$(echo "$fields" | sed -E 's/\|$//') + +##echo "$fields" + +IFS=' +' + +while read -r line; do + name=$(echo "$line" | cut -f 1) + attrall=$(echo "$line" | cut -f 2-) + attrs=$(echo "$line" | tr '\t' '\n' | sort | grep -E -ai "($fields)" | tr '\n' '\t' | sed -E 's/\ +/ /g') + printf "%s\t%s\t}\n" $name $attrs +done -- cgit v1.2.3