linux - bash printf backslash then new line -
i trying create bash c header
#define xxxxx \ "id title\n" \ "1 developer\n" \ script format=" \"%-4s %-32s\\\n" printf "$format" "id" "title\\n\"" >> $file printf "$format" "1" "developer\\n\"" >> $file
the result
"id title\n" \n "1 developer\n" \n
when change format="%-4s %-32s \\ \n"
i get
"id title\n" \ "1 developer\n" \
and gcc start complain space after \
it seems \\
interpreted more once if there no space.
without using format="%-4s %-32s \\"
printf "$format" "id" "title\\n\"" >> $file printf "\n" >> $file ...
is there better way handle this?
use hexadecimal escape sequences:
format="%-4s %-32s \x5c\n"
Comments
Post a Comment