fn="/tmp/fontnames.txt" contains_dash() { [[ "$1" =~ - ]] } update() { : > "$fn" font_list=$(fc-list -f "%{fullname}\n") echo "$font_list" | while read -r line ; do first="$(echo "$line" | cut -d',' -f1)" last="$(echo "$line" | cut -d',' -f2)" if contains_dash "$first"; then echo "$last" >> "$fn" else echo "$first" >> "$fn" fi done } case "${1:-}" in --update) update;; *) sort -u "$fn" | awk 'NF' | fzf;; esac