diffを使用して新しいファイルの内容と生成された新しい空のファイルを表示する

diffを使用して新しいファイルの内容と生成された新しい空のファイルを表示する

これら4つのコマンドを実行した後、ディレクトリ「a」には「test」コンテンツを含むファイル「1」があり、ファイル「2」は空で、ディレクトリ「b」は空です。

$ mkdir a
$ mkdir b
$ echo test > a/1
$ touch a/2

私たちは走ることができます

$ diff -r a b
Only in a: 1
Only in a: 2

これはパッチには役立ちません。または、以下を実行できます。

$ diff -rN a b
diff -rN a/1 b/1
1d0
< test

これはファイル「1」の内容を見たのでうまく機能しましたが、今ではファイル「2」が消えました。これは-N、フラグが「存在しないファイルを空のファイルとして扱う」ことを意味するためです。したがって、diffは空のファイル「a / 2」と(実際に空であるため偽装)空のファイル「b / 2」を見ることはできません。間の違い。

単一の実行で新しい空のファイルが作成されたことを、diffと空でない新しいファイルの内容をパッチで利用可能な形式で表示させる方法はありますか?

それとも比較する新しいオプションが必要ですか?

ベストアンサー1

残念ながら、GNU diffutilsのバニラバージョンは(空のファイルを削除する)などの変更を diff処理できません。b斑点この状況に役立ちます。それは次のように使用できますセットDebian/Ubuntu から。

おすすめ記事