
Linuxの実装はdiff -w
廃止されましたか\n
?これを確認するためにLinuxシステムにアクセスすることはできません。
答え1
-w
旗方法:
-w --ignore-all-space
Ignore all white space.
現在、「空白」が実際には一般的に含まれているので、これは完全には明確ではありません\n
。たとえば、\s
Perl 準拠の正規表現や POSIX のクラスは[[:space:]]
改行文字と一致します。
$ printf '\n' | grep -zqP '\s' && echo yes
yes
$ printf '\n' | grep -zq '[[:space:]]' && echo yes
yes
しかし、diff
比較して仕事ワイヤー行は\n
文字として定義されます(実際には文字なので、grep
上記-z
で使用する必要がありました)。したがって、他の行なので考慮することdiff
はできません。したがって、いいえ、このオプションは改行を削除せず、空白行はファイルが一致しないことを意味します。\n
\n
-w
diff
$ printf 'foo\nbar\n' > file1
$ printf 'foo\n\nbar\n' > file2
$ diff -wq file1 file2
Files file1 and file2 differ
diff
ただし、行数による変更を無視するオプションがあります。
-B --ignore-blank-lines
Ignore changes whose lines are all blank.
$ diff -sB file1 file2
Files file1 and file2 are identical