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


新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

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