Установка в поле ввода 2 десятичных знаков (Цена)

sed '
    N                                                       #append next line
    s/$/))/                                                 #add `))` to end
    s/\(\S*\s*\)\(.*\)\n\1/printf "%016d\n" \$((10#\2+10#/  #check Nos, form line
    t                                                       #to end if Nos equal
    s/))$//                                                 #remove `))`
    D                                                       #delete 1st line
    ' file |
bash

Что касается числа из 45000 цифр, обратите внимание, что максимальное число, которое может обработать bash, составляет

/* Minimum and maximum values a `signed long int' can hold.  */
#  if __WORDSIZE == 64
#   define LONG_MAX 9223372036854775807L
#  else
#   define LONG_MAX 2147483647L
#  endif
{{ 1}}

[1] /usr/include/limits.h

0
15.12.2018, 18:53
0 ответов

Теги

Похожие вопросы