The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"построчное чтение текстового фала BASH"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Мониторинг, логи / Linux)
Изначальное сообщение [ Отслеживать ]

"построчное чтение текстового фала BASH"  +/
Сообщение от ieasm email(ok) on 10-Авг-10, 15:03 
Добрый день! Помогите пожалуйста, я уверен решение проблемы простое, но я никак не могу ее решить сам. мне нужно с помощью BASH построчно прочитать текстовый файл и каждую строку записать в переменную, для дальнейшей работы с ней. вот мой код:
mac_file="./mac.txt";
i="0";
cat $mac_file | while read macAddress
do
echo $macAddress;
#expr substr "$macAddress" 5 17 #вырезает мак из строки
macArray[$i]=`expr substr "$macAddress" 5 17`;
echo "Значение элемента $i= "${macArray[$i]};
let "i++";
done

этот код работает, но когда я ввожу например echo ${macArray[0]} он мне выводит 3 одиновые строки, соответствующие первой в тектовом файле. когда пишу echo ${macArray[1]} он выводит 2 одинаковые, когда echo ${macArray[2]} - одну поледнию строку. (всего 3 строки в этом файле). как решить эту проблему?

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

Оглавление

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


1. "построчное чтение текстового фала BASH"  +/
Сообщение от Andrey Mitrofanov on 10-Авг-10, 15:14 
>cat $mac_file | while read macAddress
>do
>done

Либо
   while read macAddress
   do
   done < <(cat $mac_file)
, либо
   while read macAddress
   do
   done <$mac_file

http://www.opennet.me/openforum/vsluhforumID9/7907.html

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

2. "построчное чтение текстового фала BASH"  +/
Сообщение от ieasm email(ok) on 11-Авг-10, 10:38 
Спасибо большое, проблема решилась!Правда появилась новая проблема :) есть такая строка
./vty_run.exp -h 1.1.1.1 -u user -p pass -f configfile, она выводит таблицу маков на свиче, можно это значение в пеерменную или масив записать? Заранее огромное спасибо!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "построчное чтение текстового фала BASH"  +/
Сообщение от DeadLoco (ok) on 11-Авг-10, 11:32 
>./vty_run.exp -h 1.1.1.1 -u user -p pass -f configfile, она выводит таблицу
>маков на свиче, можно это значение в пеерменную или масив записать?

Можно записать в файл:

./vty_run.exp -h 1.1.1.1 -u user -p pass -f configfile > some.file

А потом можно прочитать из файла построчно.

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

4. "построчное чтение текстового фала BASH"  +/
Сообщение от ieasm email(ok) on 11-Авг-10, 13:29 
знаю, но дело в том что если маки будут браться со ста каналов и постоянно будут создаваться и читаться файлы, то это будет немного критично в плане ресурсов, хотелось бы решить это с помощью переменных.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "построчное чтение текстового фала BASH"  +/
Сообщение от Andrey Mitrofanov on 11-Авг-10, 14:07 
А. Можно, мы не возражаем - делай.

Б. Можно, только "таблица" придётся записать в несколько переменных... Наверное?..
В.
macAddressesArray=(`./vty_run.exp -h 1.1.1.1 -u user -p pass -f configfile`)
Г.
while read ip macAddress; do
   echo "адрес=$ip, MAC=$macAddress"
   done < <(./vty_run.exp -h 1.1.1.1 -u user -p pass -f configfile)
Д. "Деццкий сааад!"
Е. Выбор инструмента в разрезе ресурсоёмкости... рассматиривать не будем. _Не будем, говорю!

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

6. "построчное чтение текстового фала BASH"  +/
Сообщение от ieasm email(ok) on 12-Авг-10, 10:58 
честно говоря не очень понятно. откуда взялись переменные ip и macAddress, если можно, немного подробние, я недавно занимаюсь написание скриптов, еще мало опыта :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

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

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




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

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