LinuxForum.Fans
Тема

поле == переменная

Автор: moshell 11 сообщений 3971 просмотров
#281914

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

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

#281918
moshell написал:
Подскажите плз.

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

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

#281921

Как вариант: инициализировать строкой массив, затем по индексу из этого массива присваивать значения переменным.
[console]
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
[/console]

#281928

интересно.

спасибо

#281933
"Lupo Alberto" написал:
Как вариант: инициализировать строкой массив

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

#281934
"-=Serj=-" написал:
А если разделитель - не пробел?

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

#281938

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

text

#!/usr/bin/env python

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

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

#281940
"-=Serj=-" написал:
тогда можно проще:

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

#281957
Lupo Alberto написал:

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

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

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


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

Войдите или зарегистрируйтесь, чтобы ответить.