Старый 27.02.2012, 21:03   #1
BRO
 
Регистрация: 15.07.2010
Сообщений: 49
Репутация: 0
По умолчанию Удаление файлов по списку

Всем привет
Столкнулся с проблемой
Суть в том, что нужно грохнуть около 100к файлов по списку.
Файлы лежат в одной папке. В папке в сумме около 200к файлов
Файлы одного типа- картинки.
Каким образом можно такое дело провернуть?
Заранее спасибо!
BRO вне форума   Ответить с цитированием
Старый 27.02.2012, 21:14   #2
Raz0r
 
Аватар для Raz0r
 
Регистрация: 17.07.2010
Сообщений: 100
Репутация: 78
По умолчанию

Код:
#!/bin/bash
while read line
do
rm $line
done < "list.txt"
list.txt - список файлов для удаления (должен находится в целевой папке).
Raz0r вне форума   Ответить с цитированием
Старый 27.02.2012, 21:17   #3
Raz0r
 
Аватар для Raz0r
 
Регистрация: 17.07.2010
Сообщений: 100
Репутация: 78
По умолчанию

PHP код:
<?php
$fp 
fopen('list.txt''r');
while(!
feof($fp)) unlink(fgets($fp));
?>
Raz0r вне форума   Ответить с цитированием
Старый 27.02.2012, 22:02   #4
BRO
 
Регистрация: 15.07.2010
Сообщений: 49
Репутация: 0
По умолчанию

Цитата:
Сообщение от 16bit Посмотреть сообщение
rm -rf *.jpg
по маске не выйдет
так как в папке есть и файлы, которые нельзя удалять.
BRO вне форума   Ответить с цитированием
Старый 27.02.2012, 22:09   #5
b3
 
Аватар для b3
 
Регистрация: 18.08.2010
Сообщений: 352
Репутация: 105
По умолчанию

5 символов
Цитата:
for x in `cat list`;do rm $x;done;
b3 вне форума   Ответить с цитированием
Старый 28.02.2012, 09:37   #6
12309
 
Регистрация: 25.12.2011
Сообщений: 265
Репутация: 33
По умолчанию

ага, а теперь создайте файл с пробелом в имени, и порадуйтесь своим евилкодесам =)

//http://mywiki.wooledge.org/BashPitfalls
12309 вне форума   Ответить с цитированием
Старый 28.02.2012, 09:41   #7
xCedz
 
Регистрация: 05.07.2010
Сообщений: 33
Репутация: 6
По умолчанию

вполне логично при составлении списка для удаления, нужно проверить права на файл.
xCedz вне форума   Ответить с цитированием
Старый 28.02.2012, 13:11   #8
tex
 
Регистрация: 26.12.2010
Сообщений: 135
Репутация: 41
По умолчанию

cat ./list.txt|xargs -i rm {}
tex вне форума   Ответить с цитированием
Старый 12.03.2012, 00:20   #9
n3gate
 
Аватар для n3gate
 
Регистрация: 09.03.2012
Сообщений: 1
Репутация: 0
По умолчанию

Раз все варианты понасобирали оставлю и свой:
Код:
>\rm `cat list.txt`
__________________
~1
n3gate вне форума   Ответить с цитированием
Старый 29.10.2012, 05:52   #10
x09
 
Регистрация: 29.10.2012
Сообщений: 1
Репутация: 0
По умолчанию

>>ага, а теперь создайте файл с пробелом в имени, и порадуйтесь своим евилкодесам =)
Код:
export IFS=';' && for x in `cat list`;do rm $x;done;
и пробел не страшен
x09 вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot