Seu problema se deve ao fato de que você assumiu o controle da formatação da saída gerada por find , dividindo agora em novas linhas, \n . Para obter xargs para processar sua saída ao usar -0 , a saída precisa ser separada por caracteres nulos, %code% . Aqui está uma maneira fácil de corrigir isso:
$ find . -type f -printf "%C@ %p\n" | sort | tail -n 2 | \
cut -d " " -f 2- | tr '\n' '$ find . -type f -printf "%C@ %p\n" | sort | tail -n 2 | \
cut -d " " -f 2- | tr '\n' '%pre%' | xargs -0 mv -t /app/path1/path2/path3
' | xargs -0 mv -t /app/path1/path2/path3
A introdução do comando 'tr' \ n '' \ 0 'converte as novas linhas de volta para nulos.