grep -v = file.txt >file1.txt && mv -f file1.txt file.txt
Должно. если по 20К в пачке - то это всего 50 запросов. вместо 200К.
Может и в них. Но тут, что-то в голову ничего простого не идёт.
А сколько наборов в каждом инсерте? Может имеет смысл поднять max_allowed_packet ? и слать инсерты пачками размером чуть меньше max_allowed_packet?
у тебя на винде есть "/home/jorik/111/" ? Скорее всего заморочка с путями, сделай принты переменных с путями и именами файлов, и всё сам увидишь.
print S "$1;$2;$2;$2\n" if /(https?:\/\/.+?html?)\]?(.+)\[\/url\]/;
у тебя $_ не задан. я так понял должен быть цикл while(<F>){}
правильно было сказано use strict; use warnings;
если по-простому, то нет. можно сделать функцию и считать. можно сгруппировать по уникальному картежу.
Запросы такого вида называются топ из группы.
http://www.artfulsoftware.com/infotree/queries.php?&bw=1275#104
Ниже таблица для примера, и запрос (выдаст 2 самые поздние из каждой группы)
CREATE TABLE `article` ( `id` int(11) NOT NULL AUTO_INCREMENT, `cdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `dep_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=402 DEFAULT CHARSET=latin1 CREATE TABLE `dep` ( `id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT a.id, a.dep_id, a.cdate, count(a1.id) AS ca FROM article a JOIN article a1 ON a1.dep_id=a.dep_id AND a1.cdate >=a.cdate GROUP BY a.dep_id,a.cdate HAVING ca <= 2;
P.S. Выбирая самые новые статьи, наверно надо опираться на дату, а не айдишник(возраст же по номеру паспорт не определяют).
да евал сам по себе не страшен, и даже полезен.
а на счет доступа пользователей, если в там базе есть html который php, и который появилась нужда эвалить, то я что-то сомневаюсь, что там нет пользовательского ввода.
вот когда тебе заевалят html c пользовательским вводом, тогда поменёшь недобрым словом советчиков :)
может так?
/1[^1]*1/