Is there something specific with reformatting this command that I'm missing?
Sim. Você perde um nível de cotação quando executa um comando via ssh. Então isso:
find /dir/ -type f -printf "%p|%TY-%Tm-%Td|%TH:%TM|%s|%u|%U\n"
Torna-se:
find /dir/ -type f -printf %p|%TY-%Tm-%Td|%TH:%TM|%s|%u|%U\n
O que é um monte de comandos shell ligados por pipes ( |
). Você pode consertar isso colocando a coisa toda entre aspas simples:
ssh -o StrictHostKeyChecking=no "servername" 'find /dir/ -type f -printf "%p|%TY-%Tm-%Td|%TH:%TM|%s|%u|%U\n"' > /dir/output.txt
Ou passando seu script como stdin para bash:
ssh -o StrictHostKeyChecking=no "servername" bash <<EOF > /dir/output.txt
find /dir/ -type f -printf "%p|%TY-%Tm-%Td|%TH:%TM|%s|%u|%U\n"
EOF