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)オプションであるかどうかはわかりません。