Shell и конвеер

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
shadow_user
рядовой
Сообщения: 11
Зарегистрирован: 2010-01-24 19:28:08

Shell и конвеер

Непрочитанное сообщение shadow_user » 2012-09-11 18:05:56

Подскажите пожалуйста, нужно парсить вывод утилиты smbclient -gNL $ip, находить в выводе сервер samb`ы и его шары, но приходится сначала сливать вывод smbclient в tmp файл (так-как если испоьзовать конвеер переменные за циклом не будут сохраняться из-за subshell`a), чтобы его потом построчно разобрать в теле цикла и передавать результаты в переменные для дальнейших действий в функцию, вопрос заключается в том можно ли убрать tmp файл, используя каким нибудь образом конвеер, так-как ip много, нехочется делать лишнюю нагрузку на файловую систему, да и некрасиво это как мне кажется!?

Код: Выделить всё

while read line
do
	object=`echo $line|awk -F"|" '{print $1}'`
	case "$object" in
		Disk)
				tmp=`echo $line|awk -F"|" '{print $2}'`
				dsk="$tmp $dsk"
				;;
		IPC)
				ipc=`echo $line|awk '{print $3}'|tr -d "()"`
				;;
		Server)
				echo $line|grep -q $ipc
				if [ $? -eq 0 ]
				then
					srv=`echo $line|awk -F"|" '{print $2}'` 
				fi
				;;
	esac
done < $ip.smb

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

shadow_user
рядовой
Сообщения: 11
Зарегистрирован: 2010-01-24 19:28:08

Re: Shell и конвеер

Непрочитанное сообщение shadow_user » 2012-09-12 0:27:33

Вопрос снят нужно использовать конструкцию вида program|{do-something}