この記事は公開されていません。
diffコマンドよく使うけど、良く忘れるのと、Qiitaとかkobitoとかmarkdownとかテストするために投稿。
※基本的に僕のメモなので役立つかは知りません。すみません。
改行コード無視してdiff
$ diff -w a.txt b.txt または diff --strip-trailing-cr
http://d.hatena.ne.jp/youhey/20091028/1256748465
サーバ間でdiff
$ ssh hostname cat filename | diff filename -
タブ無視してdiff
$ diff b.txt a.txt
2c2
< echo "hoge";
---
> echo "hoge";
-bオプションでタブを無視できる
$ diff b.txt a.txt -b
ちなみにタブ無視してgit diffも
$ git diff -b
または
$ git diff --ignore-space-change
diffの出力形式
-cオプション
context 出力形式を用いる
$ diff -c b.txt a.txt
*** b.txt 2012-10-01 06:05:08.000000000 -0400
--- a.txt 2012-10-01 05:42:43.000000000 -0400
***************
*** 1,4 ****
<?php
! echo "hoge";
! echo "hoge";
?>
--- 1,3 ----
<?php
! echo "hoge";
?>
-uオプション
unified 出力形式を用いる
$ diff -u b.txt a.txt--- b.txt
2012-10-01 06:05:08.000000000 -0400+++ a.txt
2012-10-01 05:42:43.000000000 -0400@@ -1,4 +1,3 @@
<?php
- echo "hoge";
- echo "hoge";
+ echo "hoge";
?>
http://www.dollpaper.com/info/245.html
本当に稀にこんな無茶なことをやってみたくなる
基本的にはgitとかhgで差分見ますが、レガシーなサーバ環境ではこういうことよくやります。
for i in `find ./hoge/`; do diff $i ./fuga/ ; done