Гость Опубликовано 25 августа, 2005 Жалоба Поделиться Опубликовано 25 августа, 2005 Есть лог-файл такого вида. Date ; Time ; Port ; RxBytes : TxBytes 2005.08.16;22:00:00;1;100100;500500; 2005.08.16;22:10:00;1;100200;500600; 2005.08.16;22:20:00;1;100400;501700; В RxBytes - снятые значения счетчика нарастающим итогом. Мне надо посчитать трафик за период. Пытаюсь со своим дельфийским подходом прочитать файл построчно в переменные. Хотелось бы обойтись только bash, без Perl. for str in `cat $log_file` do echo $str done Но этот код читает пословно (до разделителя). Из первой строчки читается только Date. Как прочитать построчно, разложив на переменные по разделителям. Может можно где-то посмотреть рабочий скрипт для подобного? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 25 августа, 2005 Жалоба Поделиться Опубликовано 25 августа, 2005 Попробуйте вложенный цикл вида: for i in `echo $str | tr ':' '\n'`; do .......... done Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 25 августа, 2005 Жалоба Поделиться Опубликовано 25 августа, 2005 У меня пока проблема прочитать всю строку. Разделить на поля можно через awk. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sleeping Daemon Опубликовано 25 августа, 2005 Жалоба Поделиться Опубликовано 25 августа, 2005 Аноним писал(а) чт, 25 августа 2005 12:02 У меня пока проблема прочитать всю строку. Разделить на поля можно через awk. Ну так и читайте все через awk. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Hans R. Steiner Опубликовано 25 августа, 2005 Жалоба Поделиться Опубликовано 25 августа, 2005 А можно на перле... open (FILE, "file_name"); while ($str = <FILE>){ print $str; }; close (FILE); Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
allez Опубликовано 26 августа, 2005 Жалоба Поделиться Опубликовано 26 августа, 2005 Вот эта конструкция: while read LINE do ... ... done<$LOGFILE будет считывать файл, указанный в переменной LOGFILE, построчно и записывать считанную строку в переменную LINE. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.