Назад | Перейти на главную страницу

Имя файла с помощью поиска

Как получить имя файла при использовании команды find? Когда я использую команду find для поиска определенного типа файлов в каталоге и подкаталогах, я получаю полный путь к этому файлу, как мне получить только имя файла? Проблема, с которой я сталкиваюсь, заключается в том, что когда я перемещаю найденный файл в каталог архива, он говорит, что «такого каталога нет», и это из-за всего пути, который я получаю при поиске файла.

В basename Команда предоставит вам только имя файла, а не полный путь, который вы можете выполнить для найденного файла следующим образом:

find . -name filename -exec basename {} \;

Использовать find ... -printf '%f\n'

Или, чтобы решить вашу заявленную проблему:

find ... -name FOO -print0 | xargs --no-run-if-empty --null mv --target-directory=TARGET