Era uma vez, descobri a necessidade de saber se uma função estava sendo direcionada quando chamada. Esta função pode analisar IDs de torrent da saída de transmission-remote -l
via pipe ou aceitar uma lista de IDs de torrent. Dessa forma, posso canalizar a lista de torrents para grep para filtragem rápida e, em seguida, canalizar para minhas funções auxiliares para operar nos torrents filtrados.
function ttm {
local torrents
local target
if [[ ! -t 0 ]]; then
# We're being fed on stdin
torrents=()
while read line; do
torrents+=( $(echo $line | awk '{print $1}') )
done
torrents=${(j:,:)torrents}
target=$(realpath "$1")
echo "Moving torrents: ${torrents} -> ${target}."
elif [[ ! -z "$1" ]]; then
torrents="$1"
target=$(realpath "$2")
fi
[[ -z "$torrents" ]] && echo "Won't move all torrents!" && return 2
[[ -z "$target" ]] && echo "Please specify a target folder" && return 2
tt "-t${torrents}" --move "${target}"
}