Я хочу создать tar-шар и включить в каталог только те файлы, которые начинаются с определенного имени файла. Например, у меня есть apples-x.x.x и oranges-x.x.x, и я хочу удалить только файлы, начинающиеся с «apple». Как я могу это сделать?
Спасибо!
Может как то так:
find / -type f -name "apple*" -exec tar -rf archive.tar '{}' \;
Это лучше чем tar cf /path/tarfile appl*
потому что не архивируйте каталог с шаблоном apple *
Эммм, может я что-то упускаю, но как насчет
tar cf /path/tarfile appl*
Если у вас нет каталогов, которые также называются ./appl*
, и в этом случае они попадут в ловушку с их содержимым, которое должно это сделать. Если последнее относится, вы можете остановить это с помощью --no-recursion
.
Что о
find / -type f -name "apple*" -exec tar -cf archive.tar '{}' \+
? Таким образом, все имена файлов будут передаваться в tar за один раз (см. -exec команда {} + на странице руководства по поиску).