Você provavelmente não precisaria de 3 dessas barras invertidas se puder remover o shell da equação. Felizmente, você pode:
{ printf '{ "file_content":["'
cat file.txt
printf '", ...]}"'
}| curl ... --data-binary @-
Veja man curl
. Sugiro que preste muita atenção às diferenças entre --data-ascii
(que é o que -d
significa) , --data-binary
e --data-urlencoded
.