The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Поиск в файле."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Поиск в файле."
Сообщение от razor Искать по авторуВ закладки(??) on 30-Июл-04, 13:16  (MSK)
Помогите написать скрипт на Bash.

Есть файл с трафиком пользователей(допустим /home/traffic) вот такого вида.

Active Accounted actions on tty39, User fdfg41 Priv 1
Task ID 16843, Network Accounting record, 00:49:51 Elapsed
task_id=16843 start_time=1091172163 protocol=ip addr=10.0.0.49 pre-session-time=3 pre-bytes-in=113 pre-bytes-out=72
pre-paks-in=4 pre-paks-out=4 bytes_in=533551 bytes_out=2081293 paks_in=5584 paks_out=5373 elapsed_time=2933

Через пустую строку эти записи повторяются для каждого пользователя.
Как видите очень много информации. Меня интересует параметр bytes_out=2081293

Есть файл (/home/username) в котором записано имя пользователя чей трафик нужно узнать.

В скрипте получаем имя пользователя из файла с помощью
user=$(cat /home/username)

А как прописать чтобы скрипт искал в файле /home/traffic этого пользователя (допустим fdfg41) и после этого искал инфу о трафике(bytes_out=2081293), затем записать эту строчку в переменную info, а затем вырезать из нее 10 первых символов(bytes_out=) и записать в др. переменную(trafik=2081293).
Которая запишет его трафик в файл echo $trafik > /home/${user}.traf

Помогите советом.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Поиск в файле."
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 30-Июл-04, 14:06  (MSK)
>Помогите написать скрипт на Bash.
>
>Есть файл с трафиком пользователей(допустим /home/traffic) вот такого вида.
>
>Active Accounted actions on tty39, User fdfg41 Priv 1
> Task ID 16843, Network Accounting record, 00:49:51 Elapsed
> task_id=16843 start_time=1091172163 protocol=ip addr=10.0.0.49 pre-session-time=3 pre-bytes-in=113 pre-bytes-out=72
>pre-paks-in=4 pre-paks-out=4 bytes_in=533551 bytes_out=2081293 paks_in=5584 paks_out=5373 elapsed_time=2933
>
>Через пустую строку эти записи повторяются для каждого пользователя.
>Как видите очень много информации. Меня интересует параметр bytes_out=2081293
>
>Есть файл (/home/username) в котором записано имя пользователя чей трафик нужно узнать.
>
>
>В скрипте получаем имя пользователя из файла с помощью
>user=$(cat /home/username)
>
>А как прописать чтобы скрипт искал в файле /home/traffic этого пользователя (допустим
>fdfg41) и после этого искал инфу о трафике(bytes_out=2081293), затем записать эту
>строчку в переменную info, а затем вырезать из нее 10 первых
>символов(bytes_out=) и записать в др. переменную(trafik=2081293).
>Которая запишет его трафик в файл echo $trafik > /home/${user}.traf
>
>Помогите советом.
Mozno tak.

#!/bin/sh

user=$1
data=$2

grep -A3 "User $user" data | grep bytes_out | cut -d = -f 2 > ${user}.traf

P.S. Pri uslovii 4to strukturi zapisei fiksirovannije. Podumai kak odnozna4no identificirovat polzovatela. V mojem varinate ne vsegda budet korektno rabotat(esli est polzov. test, test1 i test2, to ukazav test budut vidani vse 3).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Поиск в файле."
Сообщение от razor Искать по авторуВ закладки(ok) on 30-Июл-04, 17:35  (MSK)

>Mozno tak.
>
>#!/bin/sh
>
>user=$1
>data=$2
>
>grep -A3 "User $user" data | grep bytes_out | cut -d = -f 2 > ${user}.traf

помогло 8-))


>P.S. Pri uslovii 4to strukturi zapisei fiksirovannije. Podumai kak odnozna4no identificirovat polzovatela.
>V mojem varinate ne vsegda budet korektno rabotat(esli est polzov. test,
>test1 i test2, to ukazav test budut vidani vse 3).
С этим поблем нет так как у всех пользователей свои уникальные имена. не повторяющиеся.

Спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру