• ベストアンサー

AWKのprintf文

AWKのprintf文で”printf(”%d”¥n,data);”という文字列を出力したいのですが、うまくできません。%dを¥%dとすればいいだけなのかと思ったのですが、”not enough args in printf・・”というエラーとなってうまくエスケープされていないようなのですが、うまく逃げる方法はないでしょうか?出力はprintf文にはこだわらないのですが 他にいい方法があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Dpop
  • ベストアンサー率51% (279/544)
回答No.1

最近、awk は触っていないのですが。。。 print "printf(\"%d\\n, data);\""; では、ダメですか?

Kasaoka-Taroh
質問者

お礼

試してみました。うまくできそうです。print文は 普段あまり使っていなかったので、よくわかっていませんでした。ありがとうございました。

その他の回答 (2)

  • Dpop
  • ベストアンサー率51% (279/544)
回答No.3

#1 です。 最後の " の位置がずれてました(^^;) print "printf(\"%d\\n\", data);"; ですね。失礼!

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.2

エスケープする文字をもっと増やさないと行けません。 「”(ダブルクォーテーション)」と「¥」をエスケープしないと、2個目の「”」で文字列が終了してしまいませんか?

関連するQ&A

専門家に質問してみよう