memo

思いついたこと、やってみたことをテキトウに残していく。

HEAD / archives / 2013-01 / 2013-01-10.rst

ファイルの中身を任意のコマンドの標準入力に渡し、その標準出力でファイルを置き換える方法

イメージとしては以下のようなこと。ただし、これだとご存知の通り期待した結果にはならない。

$ sort < data.txt > data.txt

ということで、普通は一時ファイルを作ることになるのだけど、 そうでなく無理やり頑張る方法。

$ ( rm data.txt; sort > data.txt ) < data.txt
$ ex -c '%! sort' -c 'wq' data.txt
$ sort =(< data.txt) > data.txt  # zsh only

... まあ、裏でこっそり一時ファイル作られてたりするのだけど。

powered by blikit