#!/usr/bin/env bash fn="/tmp/fontnames.txt" contains_dash() { [[ "$1" =~ - ]] } update() { echo "" > "$fn" font_list=$(fc-list -f "%{fullname}\n") echo "$font_list" | while read 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;; *) cat "$fn" | sort | uniq | awk 'NF' | fzf;; esac