каталоги diff, исключая одну папку внутри


44

Я думаю, что у меня есть две директории с одинаковым содержанием, но я хочу это проверить.

Также я хочу исключить папку, которая находится внутри обоих каталогов.

Как я могу это сделать?

Ответы:


48

командная строка:

diff --exclude=direxclude -r dir1 dir2

openSUSE 12.1: хорошо.

sttr@linux-sgfb:/tmp> md dir1
sttr@linux-sgfb:/tmp> md dir2
sttr@linux-sgfb:/tmp> cd dir2
sttr@linux-sgfb:/tmp/dir2> md 10
sttr@linux-sgfb:/tmp/dir2> md 11
sttr@linux-sgfb:/tmp/dir2> md 12
sttr@linux-sgfb:/tmp/dir2> md 14
sttr@linux-sgfb:/tmp/dir2> cd ..
sttr@linux-sgfb:/tmp> cd dir1
sttr@linux-sgfb:/tmp/dir1> md 15
sttr@linux-sgfb:/tmp/dir1> md 11
sttr@linux-sgfb:/tmp/dir1> md 12
sttr@linux-sgfb:/tmp/dir1> md 17
sttr@linux-sgfb:/tmp/dir1> cd ..
sttr@linux-sgfb:/tmp> diff --exclude="11" -r dir1 dir2
Only in dir2: 10
Only in dir2: 14
Only in dir1: 15
Only in dir1: 17
sttr@linux-sgfb:/tmp> diff --exclude=11 -r dir1 dir2
Only in dir2: 10
Only in dir2: 14
Only in dir1: 15
Only in dir1: 17
sttr@linux-sgfb:/tmp>

CentOS 6.3 64: хорошо.

[root@local tmp]# mkdir dir1
....

Ubuntu 12.04 TLS: хорошо.

Ubuntu 12.04 TLS


1
@STTR извините, но это не сработало
user35538

@ user35538 ​​Не могли бы вы быть более конкретным? Что не сработало, что вы вошли?
Даниэль Бек

1
diff --exclude="direxclude" -r dir1 dir2вариант?
STTR

тест версии ОС?
STTR

1
@STTR Ubuntu 12.04
user35538
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.