Я пытаюсь проверить наличие нескольких файлов, не зная заранее, где находятся файлы. Итак, я подумал, find
что это де-факто утилита для этого ... Она работает, как и ожидалось, но проблема в том, что она не подтверждает отсутствие файлов, то есть, если файл не существует в каталоге поиска тогда, как вы ожидаете, это не будет показано в результатах.
Я думаю, это нормально, так как find
команда предназначена для поиска файлов, которые на самом деле существуют в первую очередь (d'oh). Но мне интересно, есть ли у команды способ find
вернуть сообщение типа «Файл не найден» или тому подобное, чтобы сообщить, что файла нет, вместо того, чтобы молча провалиться (или преуспеть).
Я подумал, что, возможно, я мог бы обойти проблему, используя find
код возврата путем запроса $?
, но даже когда файл не найден, код возврата есть 0
.
Просто пример того, что у меня есть ...
find . -name foo.sh
find . -name bar.sh
и что он возвращает в случае, если единственный файл там foo.sh
:
./directory/foo.sh
То, что я хотел бы получить:
./directory/foo.sh
bar.sh not found
Кто-нибудь знает find
флаг или любой другой обходной путь, который я могу использовать?
Спасибо!
find . -name foo | grep \/ || echo "File not found"
. Спасибо!