ターミナル上でzipファイルの差分を比較する

Twitterでそんなのあったので、いつか自分にも必要なときが来るかもしれないので備忘で残しておく。 圧縮ファイルの中身が、サイズが少なくてほとんど差異が無いのであれば、以下のように比較してやると楽に差異が確認できる。

diff -y <(unzip -c test1.zip) <(unzip -c test2.zip)

でもこれ、目diffをちょっとやりやすくしただけでなかなかツライよなぁ… もうちょっとなんとかならないかなと思ったので、無理やり以下のように圧縮ファイル内の各ファイルごとにdiffをかけさせてみた。


Linuxでファイルを比較して片方にしかない内容のみ抜き出す

コンソール上でファイルを比較した際、片方にしかない行のみを抜き出したい場合があったので備忘として残しておく。

1.commコマンドを使う

一番簡単なのが、commコマンドを使ってやる方法だろう。
commコマンドでは、比較するファイルを引数で指定することで以下のように出力される。

comm --nocheck-order ファイル1 ファイル2

blacknon@BS-PUB-UBUNTU-01:~$ cat /tmp/test1.txt
aaaa
bbbb
cccc
dddd

blacknon@BS-PUB-UBUNTU-01:~$ cat /tmp/test2.tx...

Linuxのdiffコマンドで覚えておきたい使い方9個

diffコマンドといえば、ファイルの差分を確認する際に良く利用するコマンドだ。
今回は、このdiffコマンドについて覚えておきたい使い方について紹介する。

1.基本的な使い方

基本的には、以下のようにコマンドを実行することで、ファイルの差異を確認する。

diff /tmp/test /tmp/test.nl
[root@BS-PUB-CENT7-01 ~]# cat /tmp/test
aaaaa
v4vvv
ccccc
ddddd
ee2ee
fffff
ggggg

[root@BS-PUB-CENT7-01 ~]# cat /tmp/test.nl
aaaaa
vvvv...

色々なdiffコマンドを使ってみた

ファイルの差異を確認する、おなじみのdiffコマンド。
大量のファイルの確認をしていた際に「少し見にくいなぁ…」と感じたので調べてみたところ、結構な種類(亜種)が存在するようだ。

1.diff

いわゆる、普通のdiff。
2つのファイルの差分を表示するのだが、色付けとかされるわけでもなく、ちょっと見にくい…

diff ファイル1 ファイル2

2.diff3

ファイルを3つ比較するdiffコマンド。
まぁ数が増えただけでやること、やれることは変わりない。

diff3 ファイル1 ファイル2 ファイル3

3.colordiff

前にこちらでも紹介...


diffコマンドといえば、2つのファイルの差異を確認・比較するコマンドとして多くの人が使った事があるだろう。大体はどのディストリビューションでもバンドルされているし、当然Macにも用意されている。
そのdiffコマンドと同じく、多くのディストリビューションに導入済みなのが『diff3』コマンド。使い方は名前そのまんまで、3つのファイルを比較する。

コマンドの実行時は、以下のように、比較する3つのファイルを引数に与える。

diff3 ファイル1 ファイル2 ファイル3

実際に実行した結果がこちら。


ssh経由でディレクトリにあるファイルの差異を確認する

時には、ssh越しにディレクトリの中にあるファイルに差異が無いかを確認したいときもある。
今回は、そんな時に使える確認方法について記述する。

1.diffコマンドで確認する

公開鍵認証でのログイン設定が行われている(もしくは、sshpassコマンドが導入されている)ようならば、diffコマンドで差異を確認することができる。
以下のようにコマンドを実行することで、ローカル、リモートどちらかで足りないファイルを確認する。

diff <(ssh ユーザ名@ホスト名 'find /確認するPATH -type f | sort') <(find /確認するPATH -type f...