LINUX.ORG.RU

{
char* s="asdasdsa asdasasd"
char* n=s;
while (*++n!=' ');
*(n++)=0;
}

s-исходная строка
s и n - две строки в результате.

:)

gena2x ★★★
()
Ответ на: комментарий от gena2x

Извиняюсь, что сразу не сказал: мне на shell надо... :-(

anonymous
()

#!/bin/sh

a="bla bla";

a1=`echo $a | awk '{ print $1 }'`
a2=`echo $a | awk '{ print $2 }'`

anonymous
()
Ответ на: комментарий от rincewind

Еще вариант:

BLAH="blah1 blah2"; for i in $BLAH; do echo $i; done

Die-Hard ★★★★★
()
Ответ на: комментарий от anonymous

> Никак не пойму, почему этот пример работает... %-)

man bash:

Positional parameters are assigned from the shell's arguments when it is invoked, and may be reassigned using the set builtin command.

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

Дак надо на shell или на bash?

Если на bash, то там куча способов, можно:

a="blabla nlanla"
b1=${a%% *}
b2=${a#* }

mky ★★★★★
()
Ответ на: комментарий от gena2x

<{
> char* s="asdasdsa asdasasd"
> char* n=s;
> while (*++n!=' ');
< *(n++)=0;
>}

>s-исходная строка
>s и n - две строки в результате.

>:)

>gena2x (*) (28.01.2005 21:56:06)

А если изменяем s,то и n указывает не на то , что надо.
Садись два!

kitov ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.