2
Linuxマシンでawkコマンドを実行する必要があるcコードの一部があります。しかし、私の人生では、それはエグゼクティブではありません。 awkは私がターミナルで直接実行すると動作します。Cシステム()呼び出しがエラー "unterminated string"で失敗する
私の現在は
でコマンドsystem("awk '{ printf \"%d \n\", $12 }' results.dat | sort -n");
それが失敗したが失敗した
awk: { printf "%d
awk: ^unterminated string
コマンドが実行されるように他にどのようにあなたが二重引用符をエスケープしますか?また、なぜこれが失敗するのですか?システムコールをprintfに置き換えると、それは印刷されますか?
system("awk '{ printf \"%d \\n\", $12 }' results.dat | sort -n");
// ^note the extra \
に私は\n
がprintf
の一部であることを意味すると考えるようとして
の引数で
system
を呼び出します。 – corymathews@corymatthews:np;時にはそれはちょうど第二の目のペアを取る:] –