実行後のコマンド結果を diff する

これを知った時感動して震えたのでメモ
shell の機能を使ってこんな事ができる

  • sort した結果同士を一発で diff する
  • ローカルファイルと ssh 先のファイルをコマンド一発で diff する

※/bin/bash 限定ぽい

書式

diff <(hogehoge) <(fugafuga")

sort した結果同士を一発で diff する
[user@server ~]$ cat > file1
5
4
2
1
[user@server ~]$ cat > file2
1
2
3
5
[user@server ~]$ diff <(cat file1 | sort) <(cat file2 | sort)
3c3
< 4
---
> 3
ローカルファイルと ssh 先のファイルをコマンド一発で diff する
[user@server1 ~]$ diff /etc/ssh/ssh_config <(ssh server2 "cat /etc/ssh/ssh_config")

sudo を経由してもおk

[user@server1 ~]$ diff <(sudo cat /etc/ssh/sshd_config) <(ssh server2 "sudo cat /etc/ssh/ssh_config")
差分がずらずら(あればだけど)