Acho que há apenas duas maneiras de fazer isso:
-
Use
--list
antes e depois e veja o que há de novo. Pode ser feito em um script, mas parece doloroso. E claro, propenso a corridas. -
Use
-t TORRENT -i
e observe o campoId:
. À primeira vista, isso parece circular, mas acontece que o TORRENT não precisa ser um Id. Pode ser um hash.
Então, com o método 2:
hash="$( transmission-show FILE.TORRENT | perl -n -E 'say $1 if /^\s*Hash: (.+)$/' )"
id="$(transmission-remote -t "$hash" -i | perl -n -E 'say $1 if /^\s*Id: ([0-9]+)$/' )"
Você pode combinar todos em uma linha, é claro. E você terá que adicionar suas opções de servidor / autenticação a essa linha tramission-remote
. (Pessoalmente, tenho um script t-r
que faz isso e também adiciona destaque de linha ímpar a -l
output). Parece assim:
#!/bin/bash
if ! [ -r ~/.transmission-netrc ]; then
echo Expected to find a ~/.transmission-netrc file with the username
echo and password.
exit 1
fi
if [ "xterm" == "$TERM" ]; then
export TERM=xterm-256color
fi
transmission-remote «HOSTNAME» -N ~/.transmission-netrc "$@" | (
if [ "-l" == "$1" ]; then
sed -e "1~2 s|^|'tput setab 149''tput el'|" -e "2~2 s|^|'tput setab 221''tput el'|"
tput setab 7
tput el
else
cat
fi
)
Observe que o "HOSTNAME" você precisa preencher.