LINUX.ORG.RU

mv?


0

1

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

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

anonymous ()

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

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

find b/ -name '*.flac' -print | cpio -pdumv flac/

find b/ -name '*.flac' | while read OLD_NAME ; do
  Тут код, переносящий ${OLD_NAME} в новое место
done
geekless ★★ ()
Ответ на: комментарий от JackDaniel

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

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 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.