Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Вычленение отдельных цифр из числа  (Прочитано 2111 раз)

0 Пользователей и 1 Гость просматривают эту тему.

andrey95

  • Автор темы
  • Гость
Здравствуйте!
Пишу bash скрипт. Возник вопрос:
Есть переменная в которую записано число.
Надо выделить из этого числа первые четыре цифры и записать в другую переменную.
Как реализовать сие?
Заранее спасибо за ответы.
« Последнее редактирование: 11 Ноября 2009, 12:15:09 от andrey95 »

Оффлайн Malamut

  • Ubuntu Member
  • Администратор
  • Старожил
  • *
  • Сообщений: 3337
  • Я добрый, честно!
    • Просмотр профиля
    • Моя страница на Launchpad
Re: Вычленение отдельных цифр из числа
« Ответ #1 : 11 Ноября 2009, 12:30:51 »
Йа умею так:
echo $num | grep -oP "^.{4}"Есть более труЪ башевские способы, какой-нибудь гуру баша придёт - может напишет)
"Носителем суверенитета и единственным источником власти в Российской Федерации является ее многонациональный народ" Конституция РФ

Оффлайн Frank

  • Старожил
  • *
  • Сообщений: 1799
  • Профессиональный любитель
    • Просмотр профиля
    • Народный форум Николаева
Re: Вычленение отдельных цифр из числа
« Ответ #2 : 11 Ноября 2009, 12:52:00 »
frank@fqc:~$ echo 123456|cut -c1-4
1234

andrey95

  • Автор темы
  • Гость
Re: Вычленение отдельных цифр из числа
« Ответ #3 : 11 Ноября 2009, 14:33:11 »
if [ "$LoginMode" -eq "pap" ]



line 24: [: pap: ожидается числовое выражение

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Вычленение отдельных цифр из числа
« Ответ #4 : 11 Ноября 2009, 15:00:18 »
Ничего не понял, попробую протелепатировать.
М.б. $pap

Оффлайн RandomNT

  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
Re: Вычленение отдельных цифр из числа
« Ответ #5 : 11 Ноября 2009, 15:08:18 »
"-eq" для сравнения чисел; для строк "=="

andrey95

  • Автор темы
  • Гость
Re: Вычленение отдельных цифр из числа
« Ответ #6 : 11 Ноября 2009, 15:14:23 »
Спасибо. А как правильно здесь?
echo "$Login@server"        *    "$Pass" >> /etc/ppp/pap-secrets

Нужна запись вида логин@сервер авторизации(Условно server) * Пароль 
 в файле   /etc/ppp/pap-secrets
« Последнее редактирование: 11 Ноября 2009, 15:17:12 от andrey95 »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Вычленение отдельных цифр из числа
« Ответ #7 : 11 Ноября 2009, 15:22:24 »
Спасибо. А как правильно здесь?
echo "$Login@server"        *    "$Pass" >> /etc/ppp/pap-secrets
Несколько раз сделать echo.
А так похоже на бред. ;D

andrey95

  • Автор темы
  • Гость
Re: Вычленение отдельных цифр из числа
« Ответ #8 : 11 Ноября 2009, 15:25:37 »
Не понял.  Зачем сделать еще раз echo

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Вычленение отдельных цифр из числа
« Ответ #9 : 11 Ноября 2009, 15:29:22 »
echo "$Login@server * $Pass" >> /etc/ppp/pap-secrets

andrey95

  • Автор темы
  • Гость
Re: Вычленение отдельных цифр из числа
« Ответ #10 : 11 Ноября 2009, 15:33:18 »
Не записывает пароль вообще.
UPD  извиняюсь то моя ошибка была.
« Последнее редактирование: 11 Ноября 2009, 15:40:07 от andrey95 »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Вычленение отдельных цифр из числа
« Ответ #11 : 11 Ноября 2009, 16:10:07 »
Не понял.  Зачем сделать еще раз echo
Вы правы.
Меня смутило
echo *
Что это такое, я не могу понять и как это может интерпретироваться ?
Надо или
echo "$Login@server"       "*"    "$Pass" >> /etc/ppp/pap-secrets
или
echo "$Login@server"        \*    "$Pass" >> /etc/ppp/pap-secrets
или
echo "$Login@server        *    $Pass" >> /etc/ppp/pap-secrets
Много пробелов - это тоже не хорошо.
PS. Что такое
echo *
я в полном ступоре. Понятно, что автор это не имел ввиду. Но меня зацепило.
« Последнее редактирование: 11 Ноября 2009, 16:15:46 от alexander.pronin »

andrey95

  • Автор темы
  • Гость
Re: Вычленение отдельных цифр из числа
« Ответ #12 : 11 Ноября 2009, 16:11:29 »
А как из скрипта определить  шлюз локальной сети? Извиняюсь что я всех тут замучал уже.
P.S И дистрибутив тоже желательно.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Вычленение отдельных цифр из числа
« Ответ #13 : 11 Ноября 2009, 16:33:35 »
Из какого скрипта вытянуть? У меня уже мозг взрывается от Ваших вопросов.
Из ifconfig грепами и сатами (grep, cut).

Оффлайн Frank

  • Старожил
  • *
  • Сообщений: 1799
  • Профессиональный любитель
    • Просмотр профиля
    • Народный форум Николаева
Re: Вычленение отдельных цифр из числа
« Ответ #14 : 11 Ноября 2009, 16:36:07 »
route | grep default | awk '{ print $2 }'
lsb_release -d

 

Страница сгенерирована за 0.017 секунд. Запросов: 21.