The OpenNET Project / Index page

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

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

"Скрипт на bash"
Сообщение от razor Искать по авторуВ закладки(??) on 06-Авг-04, 17:09  (MSK)
Нужно чтобы скрипт на Bash делал определенные действия с каждой строчкой в файле, пока не достигнет конца.
Допустим есть файл такого вида

john 324
andry 435
vova 65767
sasha 655

Нужно сделать что-то с первой строчкой и записать результат в переменную, затем со второй и так далее пока не конец файла.

Кол-во строк в файле узнаю с помощью
reply=$(echo $(wc -l < /home/filename))

Допустим что-то типа

for count=1 to $reply do
{взять строку $reply и выполнить действие}

И так пока не выполнится действие с каждой строкой в файле.
Вот как мне "взять" эту строку?

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

 Оглавление

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

1. "Скрипт на bash"
Сообщение от ihor Искать по авторуВ закладки on 06-Авг-04, 17:26  (MSK)
for str in `cat datafile.txt`;do echo $str;done

??

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

2. "Скрипт на bash"
Сообщение от qq Искать по авторуВ закладки on 06-Авг-04, 21:07  (MSK)

http://www.opennet.me/openforum/vsluhforumID9/2283.html
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Скрипт на bash"
Сообщение от razor Искать по авторуВ закладки(??) on 09-Авг-04, 11:44  (MSK)
>for str in `cat datafile.txt`;do echo $str;done
>??
>
>http://www.opennet.me/openforum/vsluhforumID9/2283.html

Спасибо помогло. Но вот другая проблема...
Когда в скрипте на bash подсчитается что нужно отключить пользователя , то запускается скрипт написанный на expect.
В нем есть строка которая отрубает пользователя с линии dialup.
файл отрубания пользователя выглядит примерно так.
#!/usr/bin/expect -f
spawn отрубить пользователя с line5

Скрипт замечательно работает, но проблема в том что я пока не могу
понять как сделать, чтобы передать в скрипт номер линии(line) из файла
/home/clearline/.

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

vova line2
johni line6
sergey line3
oleg line 8

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

4. "Скрипт на bash"
Сообщение от razor Искать по авторуВ закладки(ok) on 09-Авг-04, 13:51  (MSK)
или можно сделать так, чтобы значение номера линии в строке:

spawn отрубить пользователя с line5

стиралась цифра(в примере 5) и добавлялась цифра из файла /home/clearline, для соответствующего юзера, а затем запускать этот скрипт.

Только как сделать это в Bash незнаю 8-)))

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

5. "Скрипт на bash"
Сообщение от qq Искать по авторуВ закладки on 09-Авг-04, 18:33  (MSK)
>или можно сделать так, чтобы значение номера линии в строке:
>
>spawn отрубить пользователя с line5
>
>стиралась цифра(в примере 5) и добавлялась цифра из файла /home/clearline, для соответствующего
>юзера, а затем запускать этот скрипт.
>
>Только как сделать это в Bash незнаю 8-)))


не совсем понятно что тебе нужно, но если у тебя есть имя пользователя,
и тебе надо получить соответствующую пользователю строку из файла, то можно
воспользоваться grep

grep "^vasya " /home/clearline
получишь нужную строку

или можно использовать awk

awk '$1 == "vasya" {print $2}' /home/clearline
чтобы получить только 2-е поле с именем линии

естественно предполагается что у тебя в файле именя пользователей не повторяются

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


Удалить

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




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

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