Чтобы немного расширить ответ Дейва:
Похоже, вы хотите пересечение двух команд поиска. Find не делает манипуляции с наборами. Поиск проходит вниз (или вверх в зависимости от того, как вы на него смотрите) набор путей и применяет выражение к каждому элементу, с которым он сталкивается. Действие по умолчанию - распечатать путь найденных элементов, которые оцениваются как истинные по выражениям. (Я полагаю, что некоторые старые версии find требовали явного добавления выражения -print.) Это не сопоставляет результаты. Для анализа пересечений вы можете использовать такие инструменты, как diff, sdiff, comm .
Я предполагаю, что вы пытаетесь найти элементы с одинаковыми именами в двух отдельных каталогах, а не в подкаталогах.
Принимая bash, вы можете сделать что-то вроде
comm -12 <(find . -maxdepth 1 | sort) <(cd ~/bin/FilesDvorak/; find . -maxdepth 1 | sort)
Я полагаю, что -и в командах поиска почти всегда излишни. Ex.
find . -type f ! -type d
То же, что и
find . -type f -and ! -type d
Также флаг -f - это опция для добавления к путям для прохождения. Я не верю, что это выражение. Пожалуйста, "человек найти" для разъяснения.