LINUX.ORG.RU

mv?


0

1

Есть файлопомойка с тоннами хомячего мусора, нужно как-то перенести файлы найденные с помощью find -iname «*crap*» в другой каталог с сохранением структуры директорий. Как такое можно сделать?

можно тупо всё переписать, а потом также тупо удалить ненужное.

anonymous
()
Ответ на: комментарий от JackDaniel

А вот как теперь удалить? Файлы с пробелами

JackDaniel
() автор топика

Эм. Строим список find -iname «*crap*». Для каждого элемента делаем что-то типа:
NEW_NAME=«${DESTDIR}`echo »${OLD_NAME}" | sed откусить лишнее`"
mkdir -p «`dirname »${NEW_NAME}«`»
mv «${OLD_NAME}» «${NEW_NAME}»

geekless ★★
()
Ответ на: комментарий от geekless

> read читает построчно, подстановку переменных везде можно взять в кавычки - какие проблемы?

А просто
find . -print0 | xargs -0 mv
не подойдет?

andreyu ★★★★★
()

cd /source; find -iname «*crap*» -print0 | xargs -0 tar c --remove-files | tar x -C /dest

AITap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.