Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 115 тысяч файлов   Zahar Kiselev   24 Nov 2004 22:37:56 
 Re: 115 тысяч файлов   Artem Chuprina   25 Nov 2004 18:53:34 
 Re: 115 тысяч файлов   Zahar Kiselev   25 Nov 2004 23:32:42 
 Re: 115 тысяч файлов   Serge   26 Nov 2004 08:25:55 
 Re: 115 тысяч файлов   Zahar Kiselev   26 Nov 2004 13:44:30 
Архивное /ru.linux/328841a4f1ab.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional