多くのペアの間で統一された差分を取得しようとしているので、ペア間の比較が一貫していることを確認できます。絶対パスではなく相対パスで出力をフォーマットする方法があるかどうかを知りたいです。今、私はdiff -r -u PATH1 PATH2
を使用している場合、私はこのような出力を得るdiffツールに再帰差分のファイルの相対パスのみを報告させる方法はありますか?
:
diff -r -u PATH1/some/subfile.txt PATH2/some/subfile.txt
--- PATH1/some/subfile.txt Tue Feb 07 09:16:31 2017
+++ PATH2/some/subfile.txt Tue Feb 07 09:16:32 2017
@@ -70,7 +70,7 @@
*
* some stuff
*
- * I am Tweedledee and you are not
+ * I am Tweedledum and you are not
*/
void twiddle(void)
{
@@ -88,7 +88,7 @@
* check whether we should destroy everything
* and then destroy everything in either case
*/
-inline static void Tweedledee(void)
+inline static void Tweedledum(void)
{
if (should_destroy_everything())
{
私はむしろちょうど相対パスになるだろう... diff
これを行うために取得する方法はありますか?例:
diff -r -u PATH1/some/subfile.txt PATH2/some/subfile.txt
--- some/subfile.txt
+++ some/subfile.txt
@@ -70,7 +70,7 @@
*
* some stuff
*
- * I am Tweedledee and you are not
+ * I am Tweedledum and you are not
*/
void twiddle(void)
{
@@ -88,7 +88,7 @@
* check whether we should destroy everything
* and then destroy everything in either case
*/
-inline static void Tweedledee(void)
+inline static void Tweedledum(void)
{
if (should_destroy_everything())
{
これにより、同じであると予想される差分レポートを比較しやすくなります。
は、そうでなければ私は(手動またはスクリプトを使用して)この情報を除外しなければならない(私の場合PATH1
とPATH2
は相対パスに対しファイルに、それぞれの場合に異なっており、正確な内容の差は同じである)
あなたも、手の込んだ得ることができます: sedは '1秒を/^\\(\\ ---)PATH1 \ // \ 1 /' と sed '2s/^ \\(+++ \\)PATH2 \/\ 1 /' これらの2つのステートメントは、それぞれ行の先頭にPATH1とPATHを削除するようにと言っています。その前に '---'と '+++'があるとします。 –
ありがとう...バー、私はちょうど私が望むことをするためにPythonスクリプトでそれを解析した。 –