From: Silvio Rhatto Date: Sat, 1 Jun 2024 10:19:59 +0000 (-0300) Subject: Feat: show: add --details command to show BibTeX entries X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=49869d77725fceebccf7fb54559932cae8026b0e;p=scripts.git Feat: show: add --details command to show BibTeX entries --- diff --git a/show b/show index 8dcdb06..b0e983d 100755 --- a/show +++ b/show @@ -7,6 +7,7 @@ PROGRAM="$0" BASENAME="`basename $0`" DOCS="$HOME/data/doc" +BIBLIO="$DOCS/bibliographies" FILELIST=".filelist" LIST="$DOCS/$FILELIST" DOC_PATTERN=".*\.(txt|doc|docx|rtf|pdf|sxc|csv|odt|odf|ods|xls|xlsx|ppt|epub|mobi|djvu|lit)" @@ -68,6 +69,19 @@ fi if [ "$ARG" == "--search" ]; then shift grep -i -- "$*" $LIST +elif [ "$ARG" == "--details" ]; then + shift + entry="`echo $* | sed -e 's/^@//'`" + if grep -qiR -- "$entry" $BIBLIO; then + grep -iR -- "$entry" $BIBLIO | cut -d : -f 1 | while read file; do + echo "At $file:" + echo "" + # Thanks https://tex.stackexchange.com/questions/28506/how-to-use-a-command-line-tool-to-extract-a-bibtex-reference-that-contains-a-sea + awk -v RS='\n@' "/${entry}/" $file + done + else + find $DOCS -name ${1}.bib -exec cat {} \; + fi elif [ "$ARG" == "--watch" ]; then # Convert symlink to full path and start inotifywait loop folder="`readlink -f $DOCS`"