1

Подскажите плз.

есть строка, состоящая из n полей.
есть ли штатное решение чтоб все поля указанной строки занести в переменные?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

2

moshell пишет:

Подскажите плз.

есть строка, состоящая из n полей.
есть ли штатное решение чтоб все поля указанной строки занести в переменные?

Что за язык? bash? тогда man cut.

Да, у меня Ubuntu.
Нет, не глючит.

3

Как вариант: инициализировать строкой массив, затем по индексу  из этого массива присваивать значения переменным.

 Консоль:

lupo@gentoo-laptop ~ % area2=( zero one two three four )
lupo@gentoo-laptop ~ % echo ${area2[0]}

lupo@gentoo-laptop ~ % echo ${area2[1]}
zero
lupo@gentoo-laptop ~ % echo ${area2[2]}
one
lupo@gentoo-laptop ~ % a=${area2[3]}
lupo@gentoo-laptop ~ % echo $a
two

Был, был и весь вышел...

4

интересно.

спасибо

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

5

moshell пишет:

интересно.

спасибо

http://tldp.org/LDP/abs/html/arrays.html

Был, был и весь вышел...

6

Lupo Alberto пишет:

Как вариант: инициализировать строкой массив

Хм. А если разделитель - не пробел?

Да, у меня Ubuntu.
Нет, не глючит.

7

-=Serj=- пишет:

А если разделитель - не пробел?

Преобразовать строку, заменив разделитель полей, с помощью sed, awk или tr.

Был, был и весь вышел...

8 (24.10.2012 13:03:27 отредактировано -=Serj=-)

Ну, если считать Python штатным средством, тогда можно проще:

#!/usr/bin/env python

array = "aasda,asdasd,adf,fgfg,tyt".split(',')

ab
В параметрах split указываем необходимый разделитель.

Да, у меня Ubuntu.
Нет, не глючит.

9

-=Serj=- пишет:

тогда можно проще:

«А мы лёгких путей и не ищем...» ©  ag

Был, был и весь вышел...

10

ab

Да, у меня Ubuntu.
Нет, не глючит.

11 (24.10.2012 14:18:16 отредактировано moshell)

Lupo Alberto пишет:

«А мы лёгких путей и не ищем...» ©  ag

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

поэтому я и спросил что по легче)


ps. к примеру, до прочтения man date, чтоб вывести только время, делал так
date | awk '{print $4}'

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс