愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

diff - filename とかについてのメモ

ls > oldfilelist
# add new file or remove existing file in .
ls | diff - oldfilelist

的なことをしたい時に、- というオプションはdiffとかに実装されているだけであり、ポータブル(?)ではないので

ls | diff /dev/fd/0 oldfilelist

という風に書くほうがマシだ、という話。

Linuxでは/dev/fdは/proc/self/fdのシンボリックリンクなので、

ls | diff /proc/self/fd/0 oldfilelist

と書いても同じ。

が、対象がstdinである場合にもっと分かりやすいのは

ls | diff /dev/stdin oldfilelist

だとか。これはOS Xでも動く。