25 lines
969 B
Bash
Executable File
25 lines
969 B
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
######################################################################
|
|
# @author : swytch
|
|
# @file : bibshow
|
|
# @license : GPLv3
|
|
# @created : Wednesday May 20, 2020 17:58:14 CEST
|
|
#
|
|
# @description : interactively display the infos of a .bib entry in dmenu
|
|
######################################################################
|
|
|
|
|
|
file="$(find $HOME/documents/bibliographies/ -type f -not -path '*/\.*' | dmenu -l 20 -p "[bibshow] which bibliography?")" # the -not -path allows find to ignore hidden files
|
|
|
|
refs_list="$(sed -e 's/\t//g' "$file" | tr '\n' ' ' | sed -e 's/}\s\s/}\n/g')"
|
|
[ -z "$refs_list" ] && exit 1;
|
|
|
|
ref="$(printf "$refs_list" | dmenu -i -p 'reference?' -l 10)"
|
|
[ -z "$ref" ] && exit 1;
|
|
|
|
output="$(printf "$ref" | sed -e 's/author/\n author/g' -e 's/",/",\n/g')"
|
|
|
|
printf "$output" | dmenu -i -p "infos" -l 10
|
|
printf "$ref" | awk -F '{' '{print $2}' | awk -F ',' '{print $1}' | tr -d '\n' | xclip -selection clipboard
|