今日からあなたも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の出力が一時的なファイルとなり、そのファイルのパスが得られる。


新着情報
【iOS Objective-C, Swift Tips】画像の向きを指定して保存する(Swift)
【iOS Objective-C, Swift Tips】UIImagePickerControllerの表示を日本語にする(Swift)
【iOS Objective-C, Swift Tips】ウィンドウの階層構造を3D表示する(Swift)

Copyright(C) 2004-2015 モバイル開発系(K) All rights reserved.
[Home]