Você está com saudades da opção -t
para mv
(assumindo o GNU mv
):
cat /tmp/list.txt | xargs mv -t /app/dest/
ou menor (inspirado pela resposta de X Tian):
xargs mv -t /app/dest/ < /tmp/list.txt
os espaços iniciais (e possíveis) são removidos. Espaços dentro dos nomes de arquivos levarão a problemas.
Se você tiver espaços ou tabulações ou citações ou barras invertidas nos nomes de arquivos, assumindo o GNU xargs
, você pode usar:
sed 's/^ *//' < /tmp/list.txt | xargs -d '\n' mv -t /app/dest/