The OpenNET Project / Index page

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

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

"скрипт на bash sed"  
Сообщение от vasilich (ok) on 10-Июн-06, 15:37 
Не могу догадаться как сделать

Формат users.stats
192.168.0.2/255.255.255.255
192.168.0.55/255.255.255.255
192.168.0.21/255.255.255.255
и т.д.

При подключении пользователя срабатывает Скрипт1

Скрипт1
#!/bin/bash
IP=$1
echo "$IP/255.255.255.255" >> /etc/users.stats

При отключении срабатывает Скрипт2
который должен убирать соответстующего $IP пользователя из users.stats

Скрипт2
IP=$1
sed '/$IP.*\n/d' > /etc/users.stats

А он вытерает всех.
Как сделать что б только соответствующего $IP?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "скрипт на bash sed"  
Сообщение от guest (??) on 10-Июн-06, 20:25 
>Скрипт2
>IP=$1
>sed '/$IP.*\n/d' > /etc/users.stats
>
>А он вытерает всех.
>Как сделать что б только соответствующего $IP?


sed -i '/$IP.*/d' /etc/users.stats

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "скрипт на bash sed"  
Сообщение от vasilich (ok) on 10-Июн-06, 21:02 
>>Скрипт2
>>IP=$1
>
>sed -i '/$IP.*/d' /etc/users.stats

ни чего не происходит, Скрипт1 продолжает писать $IP в users.stats, Скрипт2 не удаляет ничего.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "скрипт на bash sed"  
Сообщение от guest (??) on 11-Июн-06, 03:29 
>>>Скрипт2
>>>IP=$1
>>
>>sed -i '/$IP.*/d' /etc/users.stats
>
>ни чего не происходит, Скрипт1 продолжает писать $IP в users.stats, Скрипт2 не
>удаляет ничего.

а, ну дык есессно, надо пользовать " вместо '

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "скрипт на bash sed"  
Сообщение от vasilich (ok) on 11-Июн-06, 08:23 
>а, ну дык есессно, надо пользовать " вместо '
>>>>Скрипт2
>>>>IP=$1
>>>
>>>sed -i '/$IP.*/d' /etc/users.stats - ни чего не происходит
sed -i "/$IP.*/d" /etc/users.stats - очищает весь файл
sed -i "/$IP.*/d" > /etc/users.stats - очищает весь файл
sed -i '/$IP.*/d' > /etc/users.stats - очищает весь файл
sed -i '/$IP.*/D' /etc/users.stats - ни чего не происходит
sed -i "/$IP.*/D" /etc/users.stats - очищает весь файл
sed -i "/$IP.*/D" > /etc/users.stats - очищает весь файл
sed -i '/$IP.*/D' > /etc/users.stats - очищает весь файл
ЁПРСТ ни че не работает...
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "скрипт на bash sed"  
Сообщение от smb on 11-Июн-06, 10:57 
grep -v "$IP" /etc/users.stats > /etc/users.result
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "скрипт на bash sed"  
Сообщение от vasilich (ok) on 11-Июн-06, 12:06 
>grep -v "$IP" /etc/users.stats > /etc/users.result
Не пойму зачем это?
Но все же...
grep -v "$IP" /etc/users.stats > /etc/users.result - файл users.result пуст
grep -v '$IP' /etc/users.stats > /etc/users.result - в файл users.result поподают $IP, только к чему бы это?
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "скрипт на bash sed"  
Сообщение от vasilich (ok) on 11-Июн-06, 14:26 
Лекарство найдено:
while [ -a /var/tmp/stgusers.tmp ];
    do {
     sleep 1 && continue
    };
done
cat /var/stargazer/online.users | grep -v $2/255.255.255.255 >> /var/tmp/stgusers.tmp
rm -f /var/stargazer/online.users >/dev/null 2>/dev/null
mv /var/tmp/stgusers.tmp /var/stargazer/online.users >/dev/null 2>/dev/null
Всем огромное спасибо!


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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