コマンドの出力結果同士の差分は、bashで プロセス置換 というワザを使う。
diff <(hexdump -C /tmp/a.bin) <(hexdump -C /tmp/b.bin)
bash でコマンドの実行結果をファイルとして扱う - Diary
bashのプロセス置換で遊んでみよう! | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
これをsystem関数で呼べばいいだけだけど、エラーになる。 たぶん/bin/shを使ってる
<? system("diff <(hexdump -C /tmp/a.bin) <(hexdump -C /tmp/b.bin)"); ... sh: -c: 行 0: 予期しないトークン `(' 周辺に構文エラーがあります
よって、敢えてbashを使うことで意図した動作になる
<? system("bash -c 'diff <(hexdump -C /tmp/a.bin) <(hexdump -C /tmp/b.bin)'");
やったぜ