|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Zahar Kiselev 2:5030/382.1 24 Nov 2004 22:37:56 To : All Subject : 115 тысяч файлов -------------------------------------------------------------------------------- В результате неудачного стечения обстоятельств пришлось тут столкнуться с задачей "удалить из каталога файлы, содержащие заданную строку, а также файлы из соседнего каталога - с _такими_же_ именами но осмысленных текстовых строк не содержащие", усложненной тем, что файлов этих собралось аж 115 _тысяч_. То есть находим файл со строчкой в одном каталоге, а удаляем его и его "близнеца" в каталоге лежащем рядом. Варианты поиска с использованием "звездочки" (grep "строка" *) - невозможны по причине числа файлов. Вариант с find -exec grep, запускающие поиск на каждый файл - нежелательны по причине крайней медленности. Рассматривается вариант с ls | xargs grep ... но не нашел в мане на xargs - какой длины может быть входной список - не будет ли то же что в случае использования звездочки. Задача осложняется тем, что на той системе grep не имеет ключа -r. Кто может предложить идею наиболее быстродействующего решения? Вариант написания собственной программы рассматривается в последнюю очередь - хотелось бы именно скрипт на bash. Zahar(@spbdept.rbc.ru) Остров Большой Березовый: http://birch-island.spb.ru --- Msged/LNX 6.1.1 * Origin: N:60.17'54" E:28.39'40" (2:5030/382.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/328841a4f1ab.html, оценка из 5, голосов 10
|