J'essaie de créer ceci à partir de bash dans un en-tête c
#define XXXXX \
"id title\n" \
"1 developer\n" \
the script is
FORMAT=" \"%-4s %-32s\\\n"
printf "$FORMAT" "id" "title\\n\"" >> $FILE
printf "$FORMAT" "1" "Developer\\n\"" >> $FILE
le résultat serait
"id title\n" \n "1 Developer\n" \n
quand je change FORMAT="%-4s %-32s \\ \n"
Je reçois
"id title\n" \
"1 Developer\n" \
et gcc commence à se plaindre de l'espace supplémentaire après \
Il semble que le \\
serait interprété plus d'une fois s'il n'y a pas d'espace.
sans utiliser FORMAT="%-4s %-32s \\"
printf "$FORMAT" "id" "title\\n\"" >> $FILE
printf "\n" >> $FILE
...
Y a-t-il une meilleure façon de gérer cela ?