Что такое команда unix для поиска файлов, которые в одном напрямую покупают, а не в другом каталоге? Я забочусь только об именах файлов.

Благодарю.

2 ответа2

1

Я предполагаю, что вы хотите сделать этот поиск из каталога более высокого уровня. Если это так, вы можете использовать опцию -path с find .

Например, учитывая структуру каталогов ниже

+---dir1/test1.txt
  |
  |--dir2/test1.txt

найти файлы, соответствующие 'test *' в dir1 use

find -path '*dir1*' -iname 'test*'
0

Для сравнения двух каталогов вы можете использовать это:

diff <(cd "$dir1"; find | sort) <(cd "$dir2"; find | sort)

Чтобы сделать это только одним способом и создать список файлов, попробуйте это:

diff <(cd "$dir1"; find | sort) <(cd "$dir2"; find | sort) \
| grep '< ./' | sed "s,< ./,$dir1/,"

Чтобы это работало должным образом, ни $ dir1, ни $ dir2 не должны содержать завершающий слеш.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .