Você precisa seguir com cuidado neste caso, já que tem duas camadas de citações de intercalação:
|-------------------------- 1 ------------------------|--2 --|------------- 3 ----------|--4 --|----- 5 ----|
awk -F, '{printf "update my_table_user set thirdparty_user_id='\'%s\'' where thirdparty_user_id='\'%s\'';\n", $2,$3}' yourcsvfile
Observe que as regiões 2 e 4 são espaços em branco (sem aspas) e lá inserimos nossas aspas simples e as sequências% s. As regiões 1,3,5 são pares simples cotados equilibrados. As regiões 1..5 são contíguas. Somos capazes de colocar% s no espaço em branco, pois eles não são metacaracteres do shell como *? $ [ou teríamos que escapar deles ou colocá-los em regiões não brancas como 3.
Outra forma é a via disponibilizar uma cotação por meio de uma variável awk:
awk -F, -v q=\' '{v2=q $2 q;v3=q $3 q;printf "update my_table_user set thirdparty_user_id=%s where thirdparty_user_id=%s;\n", v2,v3}' yourcsvfile
Neste, primeiro construímos as variáveis delimitadas com aspas simples e elas as utilizam em nosso printf. Eu acredito que isso é mais fácil de usar.