"diff orig new" 対 "diff new orig" [閉じる]

2つのファイル比較を使用する場合、diffそのoriginalファイルは最初の引数として提供されnew(修正済み)が2番目の引数として提供されます。

diff original new

おそらく、この順序の後ろに隠れているロジックは、左から右へのタイムフロールールを使用してソースを新しいものに変換する方法を示すことです。

このロジックに問題があります。 2つのファイルを比較するときは、直感的に逆表記を使用します。

diff new original

これにより、変更を確認した後、古いファイルに新しいファイルを配置して新しいバージョンに「パッチ」することができます。

cat new > original

しかし、「my」の逆表記を使用すると、diffに+削除と-追加の内容が表示されるので混乱します。

この問題をどのように解決できますか?

ベストアンサー1

マニュアルページを少し見てみると、明示的に表現したい場合と--from-file=originalオプションを使用できることがわかります。--to-file=new少し入力が必要ですが、必要な柔軟性を提供し、状況を明確にする追加の利点もあります。

diff --to-file=new --from-file=original

必要に応じて、必要な順序でファイル名を取得して実行する簡単なラッパースクリプトを作成することもできます。

編集:これはGNU diff用です。しかし、これが標準(POSIX)オプションであるかどうかはわかりません。

おすすめ記事