今日からあなたもLinuxシステム管理者diff何らかのファイルが大きくなりすぎて分割したい時がある。そして元ファイルと分割したファイルの内容が同一であることをdiffで確認したいとする。ここではorg.txtをtext1.txtとtext2.txtの2つに分割することを考える。 しかし、diffの引数として渡せるのはファイル(またはディレクトリ)だけなので、複数のファイルをcatで結合した結果を直接渡すことができない。予め、分割したファイルをcatで結合し、それを作業ファイルにリダイレクトしておけば良いのだが、その場限りのファイルを作成するのは何かムダな気がする。 そんな時はbashのプロセス置換が使える。プロセス置換の使い方は簡単で、この例で言えばcat text?.txtを<()でくくるだけである。 [mobile@localhost shell]$ diff org.txt <(cat text?.txt) 1d0 < 元ファイルにしかないテキスト 簡単に言うと、プロセス置換<(list)ではlistの出力が一時的なファイルとなり、そのファイルのパスが得られる。
Copyright(C) 2004-2015 モバイル開発系(K) All rights reserved.
[Home]
|