Автор Тема: Чтение строк из файла с условием  (Прочитано 3332 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Чтение строк из файла с условием
« : 19 Августа 2008, 14:27:28 »
Есть файл:
==== cut ====
1111|Иванов С.А.|Инженер
1112|Сидоров С.А.|Инженер
1113|Петров Е.Е.|Инженер
1141|Гришин К.Е.|Технолог
1151|Сергеев С.В.|Инженер
1152|Швыдкин Р.А.|Технолог
1161|Гаврилин В.С.|Инженер
1162|Худаков С.И.|Инженер
1163|Смирнов В.В.|Печатник
==== cut ====

Как я могу из такого файла быстро вытащить все записи,
первая часть которых более 1150 и менее 1162?

Или только перебором каждой строки типа:

foreach (<FILE>)
{
 @
tmp=split(/\\|/, $_);
 if ((
$tmp[0]>=1150)and($tmp[0]<=1162))
  {
    
Запись прошла
  
};
}
Космическая игрушка

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Чтение строк из файла с условием
« Ответ #1 : 20 Августа 2008, 00:04:09 »
grep { $a = (split "\\\\|")[0]-1150; $a > 0 && $a < 12 }

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Чтение строк из файла с условием
« Ответ #2 : 30 Августа 2008, 15:01:03 »
если использовать кавычки, то будет быстее
@tmp=split("|");
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Чтение строк из файла с условием
« Ответ #3 : 01 Сентября 2008, 11:04:35 »
у вас неверное выражение

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28