Всем здрасьте!!!!
т.к. perl пока не знаю а времени нет учить есть вопрос небольшой
есть скрипт который выполняет команду ldapsearch и пропуская вывод через egrep получаю в переменной строку содержащую параметр=значение такого вида
displayName:: тут_находится_имя sAMAccountName: логин mail: адрес
хтелось бы далее переменным
LDN, LAN, LMAIL присвоить соответствующие значения
но никак не могу добиться этого
знаю что на perl можно организовать быстрее, но совсем нет времени его изучать, да и скрипт уже наполвину написан на bash
Помогите!
Заранее спасибо!
Bash перебор параметр=значение
Модераторы: /dev/random, Модераторы разделов
-
McLeod095
- Сообщения: 477
- ОС: Люблю слаку
Bash перебор параметр=значение
"Work PC" E6750/2GB/Asus P5B Deluxe/2x250GB/6600GT 128/Slackware Current (Win 2003 in VmWare)
New Work: E6400/3GB/Arch
Home Book: Asus W6k00A/Arch, Asus 701/Arch
New Work: E6400/3GB/Arch
Home Book: Asus W6k00A/Arch, Asus 701/Arch
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: Bash перебор параметр=значение
Попробуйте эту конструкцию - может, подойдет:
Код: Выделить всё
ldapsearch | egrep | sed 's/\S*\:\s//g; s/^\s//g' | while read LDN LAN LMAIL; do echo "$LDN, $LAN, $LMAIL"; done-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Bash перебор параметр=значение
можно еще как-то так:
Код: Выделить всё
diesel@indie:~$ echo "displayName:: тут_находится_имя sAMAccountName: логин mail: адрес" | while IFS=":" read k j LDN LAN LMAIL; do echo "$LDN, $LAN, $LMAIL"; done
тут_находится_имя sAMAccountName, логин mail, адрес