Как получить имя файла при использовании команды 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