Ведущие нули в переменной. Bash.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by still, 31 Oct 2013.

  1. still

    still New Member

    Joined:
    16 Jun 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Привет, звиняйте, если ошибся разделом, но вроде сюда.
    Как присвоить переменной значение с ведущими нулями в bash`е с возможностью производить с ней арифмет. операции?

    то есть:
    a=0000
    a=`expr $a + 1`
    на выводе чтоб получилось
    0001
    а не просто
    1

    В принципе, решение есть, не совсем по заданию, но это тааакой индусизм, что даже мне, нубу, совесть не позвояет такое понапейсать. Ваши варианты, господа.
     
    #1 still, 31 Oct 2013
    Last edited: 31 Oct 2013
  2. SekirBoshka

    SekirBoshka Member

    Joined:
    25 May 2012
    Messages:
    78
    Likes Received:
    28
    Reputations:
    0
    Ну это типа так будет на С++

    int _tmain(int argc, _TCHAR* argv[])
    {
    int a[3] = {0};
    a[3] = 1;
    //a[1] = 6;

    printf("%i""%i""%i""%i", a[0],a[1],a[2],a[3]);

    return 0;
    }

    на экране будет 0001.. если раскоментировать строку a[1] = 6; то выход будет 0601
     
  3. still

    still New Member

    Joined:
    16 Jun 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Спасибо, камрад, да, похоже. Разобрался я, точнее помогли. Вот как будет по сути вопроса (вдруг у кого ещё такая запинка будет):
    A=`printf "%04i" $((a + 1))` #здесь есть одно но. принтэф надо делать при выводе, потому как получается в восьмеричной.
    А вот, что пытался сделать я (у меня это было бы овер 80 строк кода))

    #echo -n "enter length: "

    #read Z



    #for ((i = 0; i < 10 ** Z; i++)); do

    # printf "%0${Z}i\n" $i

    #done