Вычленение цифр из числа.

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Andrey95
Сообщения: 57

Вычленение цифр из числа.

Сообщение Andrey95 »

Здравствуйте!
Пишу bash скрипт. Возник вопрос:
Есть переменная в которую записано число.
Надо выделить из этого числа первые четыре цифры и записать в другую переменную.
Как реализовать сие?
Заранее спасибо за ответы.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5448
ОС: Gentoo

Re: Вычленение цифр из числа.

Сообщение /dev/random »

Andrey95 писал(а):
11.11.2009 12:11
Здравствуйте!
Пишу bash скрипт. Возник вопрос:
Есть переменная в которую записано число.
Надо выделить из этого числа первые четыре цифры и записать в другую переменную.
Как реализовать сие?
Заранее спасибо за ответы.

В баше все переменные - строки, даже если в них хранятся числа. Соответственно, вам нужно выделить первые 4 символа из этой строки. Так что используйте стандартную конструкцию ${parameter:offset:length}.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Вычленение цифр из числа.

Сообщение allez »

Advanced bash-scripting guide, раздел "Работа со строками", подраздел "Извлечение подстроки".
Спасибо сказали:
Andrey95
Сообщения: 57

Re: Вычленение цифр из числа.

Сообщение Andrey95 »

#!/bin/bash
echo "Введите номер"
$Cont
$Check
read Cont
echo $Cont
echo `expr substr $Cont 1 4` > $Check
echo $Check

andreyshel@andreyshel-desktop:~$ '/home/andreyshel/Рабочий стол/test.sh'
Введите номер
0003435229
0003435229
/home/andreyshel/Рабочий стол/vpn.sh: line 7: $Check: неоднозначное перенаправление


Интересно по какому случаю?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5448
ОС: Gentoo

Re: Вычленение цифр из числа.

Сообщение /dev/random »

Andrey95 писал(а):
11.11.2009 12:31
#!/bin/bash
echo "Введите номер"
$Cont
$Check
read Cont
echo $Cont
echo `expr substr $Cont 1 4` > $Check
echo $Check

o_O Вы на баше пишете или на чём?
Во-первых, что это за строки 4 и 5? Это означает "выполнить команды, записанные в переменных Cont и Check"! Во-вторых, в строке 7 вы пытаетесь перенаправить вывод в _файл_, имя которого записано в переменной Check. Поскольку она пуста (если скрипт не унаследовал другое её значение из родительского окружения), то эта конструкция не имеет никакого смысла. Почитайте сначала какой-нибудь простенький туториал по башу, и только потом уже пытайтесь что-то писать.
Спасибо сказали:
GuttaLinux
Сообщения: 212
ОС: 1004/804/910/sid/etch/arch

Re: Вычленение цифр из числа.

Сообщение GuttaLinux »

Check=`expr substr $Cont 1 4`
Я иду на платформу 10.04
Спасибо сказали:
Andrey95
Сообщения: 57

Re: Вычленение цифр из числа.

Сообщение Andrey95 »

Мопед не мой... взято отсюда:
:unsure:

http://linfoline.homedns.org/bash/abs-book.htm
за исключением правой части строки 7.

Спасибо. Исправил по совету guttalinux
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5448
ОС: Gentoo

Re: Вычленение цифр из числа.

Сообщение /dev/random »


Ошибка 404
Спасибо сказали:
Andrey95
Сообщения: 57

Re: Вычленение цифр из числа.

Сообщение Andrey95 »

Кто-то вырубил компьютер. Аналогичное на опеннете.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Вычленение цифр из числа.

Сообщение allez »

Andrey95 писал(а):
11.11.2009 13:00
Аналогичное на опеннете.
Что-то не припомню там такого. Не поделитесь ли прямой ссылкой? А то поиск не помогает...
Спасибо сказали:
Andrey95
Сообщения: 57

Re: Вычленение цифр из числа.

Сообщение Andrey95 »

Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5448
ОС: Gentoo

Re: Вычленение цифр из числа.

Сообщение /dev/random »

Ну и где там такой скрипт? Что-то мне кажется, что оттуда вы взяли только команду expr, а остальное - именно ваш мопед.

Upd: ладно, если не хотите отвечать - забейте.
Спасибо сказали:
Andrey95
Сообщения: 57

Re: Вычленение цифр из числа.

Сообщение Andrey95 »

Точно такого нет. Но команды я брал оттуда
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Вычленение цифр из числа.

Сообщение deadhead »

/offtop
Andrey95 писал(а):
11.11.2009 14:52
Точно такого нет. Но команды я брал оттуда

Уморили... чес слово :-)

a: Мопед что-то не едет...
b: Дай гляну... у-у-у ты где его вообще взял?
а: Да вон в том магазине...
b: Так там же автозапчасти только и продают!?
a: Ну вот я их и взял.. не пойму только ЧЕГО мопед-то не едет?!
[x] close
Спасибо сказали:
Andrey95
Сообщения: 57

Re: Вычленение цифр из числа.

Сообщение Andrey95 »

Мопед поехал. Урря!!!
Спасибо сказали: