完全にタイトル通りですw
shell
newgyu:~/temp$ diff a.txt c.txt --unified
--- a.txt 2014-08-18 23:41:29.164423119 +0900
+++ c.txt 2014-08-18 23:40:55.720423888 +0900
@@ -1,4 +1,4 @@
-aaaa: 1234
+aaaa: 12345678
bbb: /path/to/?query=value
getHeader("head1"): "xxxxx"
getHeader("head1"): "xxxxx"
@@ -6,5 +6,5 @@
getHeader("head1"): "xxxxx"
getHeader("head1"): "xxxxx"
getHeader("head1"): "xxxxx"
-ccc: HOGEHOGE
+ccc: FUGAHOGE
header: hoge=fuga
こんなdiffが出るときに ccc が nullじゃなくて何か[A-Z]+ な値(大文字英字)が入っていれば差異は無視したいとき。ありますよね。
表題どおり-Iオプションで正規表現を指定することで除外できます。
shell
newgyu@newgyu-UX31E:~/temp$ diff a.txt c.txt --unified -I "ccc: [A-Z]\+"
--- a.txt 2014-08-18 23:41:29.164423119 +0900
+++ c.txt 2014-08-18 23:40:55.720423888 +0900
@@ -1,4 +1,4 @@
-aaaa: 1234
+aaaa: 12345678
bbb: /path/to/?query=value
getHeader("head1"): "xxxxx"
getHeader("head1"): "xxxxx"
ccc: null という時は無視したくないです。
shell
newgyu@newgyu-UX31E:~/temp$ diff a.txt b.txt --unified -I "ccc: [A-Z]\+"
--- a.txt 2014-08-18 23:41:29.164423119 +0900
+++ b.txt 2014-08-18 23:58:43.588399334 +0900
@@ -1,4 +1,4 @@
-aaaa: 1234
+aaaa: 1254
bbb: /path/to/?query=value
getHeader("head1"): "xxxxx"
getHeader("head1"): "xxxxx"
@@ -6,5 +6,5 @@
getHeader("head1"): "xxxxx"
getHeader("head1"): "xxxxx"
getHeader("head1"): "xxxxx"
-ccc: HOGEHOGE
+ccc: null
header: hoge=fuga