vadik |
|
Темы:
57
Сообщения:
5496
Участник с: 17 августа 2009
|
Народ выручайте, уже голова кипит, сам не соображу как сделать. Есть каталог, в нем лежит скриптик который по определенной маске ищет рекурсивно файлы которые надо удалить. Имена этих файлов заносятся в список тектстового файла (без полного пути, только имя). Как в этом же скрипте организовать удаление этих файлов согласно составленного списка? Конструкция не работает, поскольку в файле file_name.txt у нас находятся только имена, без полного пути. Ну либо я что-то делаю не так.
|
cucullus |
|
Темы:
268
Сообщения:
3565
Участник с: 06 июня 2007
|
если в файле совсем без путей, то и непонятно откуда удалять.
такие дела.
|
cucullus |
|
Темы:
268
Сообщения:
3565
Участник с: 06 июня 2007
|
если искать через find, то можно и удалять сразу: -delete можно ли при этом сделать файл (если он нужен, конечно)? можно: -fprint
такие дела.
|
vadik |
|
Темы:
57
Сообщения:
5496
Участник с: 17 августа 2009
|
То, что find умеет удалять, я уже нагуглил. Но как правильно это оформить в скрипте? Искать нужно в подпапках того же каталога, из которого запущен скрипт. Все максимально просто. Никаких доп. аргументов скрипту не передается. Запустил, отработал, создал файлик с ненужными файлами. Раньше эти файлы я удалял вручную. Теперь хочу автоматизировать, чтоб файлы удалялись тем же скриптом. Знаний команд и их синтаксиса у меня не хватает. Поэтому задал вопрос. Решение-то должно быть банальное. Операция не сложная и большинство вводных уже есть. |
cucullus |
|
Темы:
268
Сообщения:
3565
Участник с: 06 июня 2007
|
а нужно чтобы и список в файле и удалить?
такие дела.
|
vadik |
|
Темы:
57
Сообщения:
5496
Участник с: 17 августа 2009
|
Да файл потом почистить не проблема. Нужно именно файлы из списка удалять. Причем сам скрипт всегда находится в корневом каталоге по отношению к обрабатываем файлам. Но сами файлы лежат в каталогах с любым названием и произвольной вложеностью. Т.е. маску по пути создать не получится. Сам по себе список файлов появляется согласно обработке других файлов (в основном бинарники) из которых и достаются имена ненужных файлов. |
cucullus |
|
Темы:
268
Сообщения:
3565
Участник с: 06 июня 2007
|
всё таки не понятно ТЗ. find обходит всё дерево каталогов вглубь от заданного. если можно сформулировать условие на момент запуска файнда, то он и удалит. если вдруг надо принимать решение по каждому файлу отдельно по разным критериям (ну мало ли), то тогда find нам составляет список файлов в дереве (с путями) и мы по нему в цикле движемся и обрабатываем каждый файл.
такие дела.
|
grayich |
|
Темы:
235
Сообщения:
2268
Участник с: 08 января 2009
|
vadik, пиши в файл полные пути просто или сразу удаляй непонятна проблема а по короткому имени файла без путей, как удалять то, неизвестно же где они |
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
vadikа так?
|
vasek |
|
Темы:
47
Сообщения:
11878
Участник с: 17 февраля 2013
|
На скорую руку … можно где то и подсократить ... не спорю - длинно, но зато прозрачно и понятно ... Имеем файл ~/list.txt с перечнем файлов cat ~/list.txt
Запускаем скрипт ~/test.sh cat ~/test.sh
Получаем другой скрипт ~/list2.sh , уже готовый к запуску cat ~/list2.sh
Запускаем этот скрипт …. и получаем полные пути файлов ~/list2.sh
Дальше уже можно использовать и эту команду Но желательно перед удалением проверить на одинаковые названия …PS - хотя разумнее сразу составлять список с полными путями. Из бинариков тоже можно получить полные пути.
Ошибки не исчезают с опытом - они просто умнеют
|