#!/usr/bin/env bash buildURL(){ if [ -n "$1" ]; then in="$1" else in="$(cat -)" fi id="$(echo "$in" | cut -d ' ' -f 1)" mins="$(echo "$in" | cut -d ' ' -f 4)" secs="$(echo "$in" | cut -d ' ' -f 5)" seconds="$(( $mins * 60 + $secs ))" echo -e "https://youtube.com/watch?v=$id&t=$seconds" } export -f buildURL url="$(curl https://ippsec.rocks/dataset.json 2>/dev/null |\ jq -cM '[.[] | {machine:.machine,ID:.videoId,mins:.timestamp.minutes,secs:.timestamp.seconds,line:.line}]' |\ jq -r '(map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @tsv' |\ fzf -d ' ' --with-nth '3,2' --header-lines 1 --preview-window 'up:1' --preview 'bash -c '\''buildURL "$0"'\'' {}' |\ buildURL)" echo "$url" yt "$url"