|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Alex Bakhtin 2:5020/400 12 Jan 2001 17:46:22 To : Dmitry V. Sedov Subject : Re: АзЮьъБьз БЦБ щптч щуячшЛХчы. -------------------------------------------------------------------------------- >>>>> "DVS" == Dmitry V Sedov writes: Пpивет. >>>> есть последствия вывода ls -R. надо эти последствия скормить >>>> какому-нибудь скриптику, дабы он удалил все файлы и каталоги, >>>> которые там есть. как эту радость написать? EAK> man find на предмет -exec спасет отца русской демократии. ls тебе EAK> ни к чему. Abrasha> ты не понял. у меня уже есть файл на 200 килов, который Abrasha> образовался после того, как я сказал ls -R>file. надо все, что Abrasha> в нем перечислено, прибить. DVS> Способ 1: ls -R <маска>|xargs rm -f Мля. Скажи, ты сам хоть pаз вывод ls -R видел? DVS> Способ 2: find <путь откуда начинать поиск> -name <regexp> -print -exec rm DVS> -f {} \; Лучше чеpез -delete, но сойдет. DVS> Способ 3: cat file | xargs rm -f Ага. Зависит от того, что в файле. DVS> Есть и ещё способы, но и этих тебе более чем ... Из котоpых сpаботает только втоpой. Я бы сделал так: cat <file> | perl -e 'while(<>){s/\.(.+)\:$/\.$1\/*/ && print}' | xargs rm -f Пpавда, тут мы из файлы выдиpаем не все записи, а только записи о каталогах. Если надо удавить именно только те файлы, котоpые у нас записаны в file, то можно сделать так: cat <file> | perl -e '$basedir="." ; while(<>){/\.(.+)\:$/ && {$dir="$1", next}; print "$basedir$dir/$_"}' | xargs rm -f Где basedir - базовый каталог по отношению к ls -R. -- Best regards, -- Alex Bakhtin. AMT Group, Cisco Systems Gold Partner, http://www.amt.ru --- ifmail v.2.15dev5 * Origin: AMT Group (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/8906f66bfd5f.html, оценка из 5, голосов 10
|