powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / cut
23 сообщений из 23, страница 1 из 1
cut
    #32904422
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая прога cut . А вот если столбцы разделены более чем одним пробелом (число произвольно меняется) что ж делать?
Например файл статистики в trafd такого плану:
==========================================
207.46.98.134 client 195.90.159.122 80 tcp 774 2278
68.142.86.21 80 195.90.159.122 client tcp 1725 2261
195.214.240.53 80 195.90.159.122 client tcp 1636 2172
217.9.144.208 client 195.90.159.122 80 tcp 1383 2119
=======================================================
(число пробелов программа подгоняет, чтоб были ровные столбцы)
...
Рейтинг: 0 / 0
cut
    #32904508
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyaraЕсть такая прога cut . А вот если столбцы разделены более чем одним пробелом (число произвольно меняется) что ж делать?
Например файл статистики в trafd такого плану:
==========================================
207.46.98.134 client 195.90.159.122 80 tcp 774 2278
68.142.86.21 80 195.90.159.122 client tcp 1725 2261
195.214.240.53 80 195.90.159.122 client tcp 1636 2172
217.9.144.208 client 195.90.159.122 80 tcp 1383 2119
=======================================================
(число пробелов программа подгоняет, чтоб были ровные столбцы)
есть еще awk
ls -la|awk '{print $5}'
...
Рейтинг: 0 / 0
cut
    #32904512
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну пропусти сквозь фильтр чтобы заменить на одиновчные пробелы

echo "nothing in particular" |perl -pe "s/\s+/ /g"|cut -d' ' -f3

particular
...
Рейтинг: 0 / 0
cut
    #32904604
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я от перла бегу, не надо к нему возвращаться... А с awk попробую щас.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
cut
    #32904636
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну какая разница? перл это для примера я его просто все время использую. ну используй sed если перл не нравится.

echo "nothing in particular" |sed -e "s/ \+/ /g"

nothing in particular
...
Рейтинг: 0 / 0
cut
    #32904679
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общих чертах, переписываю прогу с perl на sh для подсчёта траффика, можно ли в этом месте обойтися без файла, уж очень медленно получилось?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
grep -v "^ " ${traffik} | 
{
while read stroka
do
echo "${stroka}" | awk '{print $1}' > tmp_file
read inet_addr < tmp_file
echo "${stroka}" | awk '{print $2}' > tmp_file
read inet_port < tmp_file
echo "${stroka}" | awk '{print $3}' > tmp_file
read local_addr < tmp_file
echo "${stroka}" | awk '{print $4}' > tmp_file
read local_port < tmp_file
echo "${stroka}" | awk '{print $5}' > tmp_file
read protokol < tmp_file
echo "${stroka}" | awk '{print $6}' > tmp_file
read bytes < tmp_file
echo "${stroka}" | awk '{print $7}' > tmp_file
read all_bytes < tmp_file
#
done
}
...
Рейтинг: 0 / 0
cut
    #32904689
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
awk - более стандартный подход.
...
Рейтинг: 0 / 0
cut
    #32904732
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, lissyara!
а быстрее перла-то никак не получится :-)
Чем перлуша-то в Ваших глазах провинился ?
...
Рейтинг: 0 / 0
cut
    #32904737
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне эти переменные (данные) нужны после awk....
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
cut
    #32904752
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 --null-- Та-ак, а кто говорил, про переносимость? Я наслушался, а в итоге - нате.....
Я не говорю про безумную прям скорость, но у меня 100% скриптов на shell работают через файлы... Тут вот захотел уйти от порочной практики...
Странно вообще, у меня есть скрипт считающий статистику сайта, поисковики, люди, ОС, браузер.... А работает он быстрей этого, хоть там вообще всё через файлы настругано...
P.S. Просто тот скрипт на перл у меня не работает, а почему - не пойму. На shell хоть понимаю чё он хочет, и могу обходными путями ему это дать (через ту же ФС)
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
cut
    #32904777
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara понял тя.
Еще совет - не злоупотребляй частыми вызовами,
ведь awk может делать так:

awk '{print $1 > "file1.txt";print $2 > "file2.txt"}

Вообще если говорить о работе с файлами и считалках - то все, что делпл перл
в принципе и awk сделает без всякого shell-а и гораздо быстрее shell-а!
...
Рейтинг: 0 / 0
cut
    #32904785
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или присваивания можно упростить - выбросить tmp файлы и заюзать ``
...
Рейтинг: 0 / 0
cut
    #32904915
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот последнего чё-то недопонял про ``. А про
awk '{print $1 > "file1.txt";print $2 > "file2.txt"}
спасибо, не знал.
Насчёт awk - у меня есть скрипт, он там тоже траффик считает и письмо мне
шлёт. А этот будет в MySQL всё пихать, а уж потом буду думать, что со всем
этим делать.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
cut
    #32905089
Сколько пользуюсь trafd никогда не возникала проблема с пробелами. Делаю load in postgresql, и все путем грузится из лог-файла. Кстати, этот лог в формате csv с разделителями - табами, и пробелы здесь не причем.
...
Рейтинг: 0 / 0
cut
    #32905178
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если там пробелы, то попробуй его cut`ом без -d" " разделить на столбцы...
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
cut
    #32905613
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не по теме, но из того же скрипта.
Хотелось бы вместо IP имена хостов всандалить. Пробовал поиграть с выводом команды host, но она может выдавать несколько строк, и место имени хоста может в первой строке меняться (правдо оно всегда последнее).... Помню, где-то чё-то видел подобное...
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
cut
    #32905887
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно как?
обычно 1 строка, но разрулить не проблема

дркгое дело что вести какой-либо учет лучше, опираясь на адреса (imho)
...
Рейтинг: 0 / 0
cut
    #32905904
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен с --null--, учёт лучше вести на основе ip, если в статистике хочется видеть доменные имена -- в ней уже и разрешать их (банально меньше ДНС-запросов, а они небыстрые...)
...
Рейтинг: 0 / 0
cut
    #32906062
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эт почему же меньше? Один раз всё разрешил, запхал в БД, а уж потом только доставай оттуда... А так что получиться - каждый раз разрешать, как посмотреть надо?
Или я что-то недопонял.
2 --null-- Всё-таки это про что было
> или присваивания можно упростить - выбросить tmp файлы и заюзать ``
а с host разобрался, я по ошибке туда имя домена один раз запхал, ну он мне mx`ы все и выдал...
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
cut
    #32906142
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
несколько замечаний:

1) одно dns имя может иметь несколько ip адресов. (например для load balancing для web сервера)
2) несколько dns имен могут иметь один и тот-же ip адрес
3) привязка dns имен к ip имеет тенденцию меняться с течением времени.

так что уж лучше сразу определиться, что именно вы хотите. Учитывать трафик по dns именам или по ip
...
Рейтинг: 0 / 0
cut
    #32906207
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara , `` это значило что многие операции,делаемые через tmp, можно взовращать через ``

ну там var=`echo трали-вали | awk{} | filter ...`
...
Рейтинг: 0 / 0
cut
    #32906497
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyaraЭт почему же меньше? Один раз всё разрешил, запхал в БД, а уж потом только доставай оттуда... А так что получиться - каждый раз разрешать, как посмотреть надо?
Или я что-то недопонял.

Ага, а ещё squidом всё закэшировал -- и можно к инету вообще не подключаться,)

Ну хорошо, пущай в базе хранятся все доменные имена всех ip, которые запрашиваются.
Всё равно ведь, если в базу заносить не ip, а хосты -- для каждой строки лога придётся запрос хотя бы к локальной базе делать, а зачем?
...
Рейтинг: 0 / 0
cut
    #32906590
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В БД будет храниться строка типа
вася.local по_порту_такому_то www.yandex.ru по_порту_другому протокол_такой_то байт_получил
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / cut
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]