bashで正規表現を使用してLinux 'diff'を操作する方法

bashで正規表現を使用してLinux 'diff'を操作する方法

PID(12345) PID(01234) Expect.outとActual.outという2つのファイルがあります。

数字が5つだけ異なる場合は、diffにその行を無視し、diffが空の値を返すようにします。アイデアは異なるPIDを持っていますが、それ以外は同じログをdiffが無視するようにすることです。

以下は機能しません:

diff -I '\([0-9]{5}\)' -I '\([0-9]{5}\)' expected.out actual.out

ベストアンサー1

^行の先頭と末尾と一致し、$文字列と一致しますPID(望ましくなくFOO(12345)無視さBAR(12345)れます)。

diff -I '^PID([0-9]\{5\})$' expected.out actual.out

各PIDに5桁の数字があると仮定するよりも、1つ以上の数字を一致させる方が安全です。

diff -I '^PID([0-9]\+)$' expected.out actual.out

おすすめ記事