прочитать последнюю строку и преобразовать ее в число

У меня есть текстовый файл, содержащий заголовки, трейлеры и подробные записи.

формат:

H20161010XXX                        // record length: 880  
D<---details----total length 880--->
D<---details----total length 880--->
T2016101020161010          00004    // record length : 880  

я хочу разобрать '00004' и выполнить над ним некоторые вычисления.

Я прочитал запись трейлера, но не могу разобрать из нее 00004

trailer=`tac $FILE | grep -m 1 '.'`
echo $trailer 
count=$(trailer:29:5)
echo $count

вывод:

T2016101020161010          00004

Я не могу выбрать 00004.

Начальная позиция и длина 00004 фиксированы и я могу это жестко запрограммировать. Также я хочу сохранить его в переменной и выполнять с ними арифметические операции.

Я пишу сценарий оболочки, используя ksh. Большое спасибо !

0
10.10.2016, 20:34
2 ответа

Как только вы получите $trailer:

count=$(echo $trailer | cut -d' ' -f2)
echo $count
0
28.01.2020, 04:49

Используйте фигурные скобки, чтобы получить подстроку:

count=${trailer:29:5}

Обратите внимание, что ваш скопированный/вставленный пример выглядит более корректно, используя "${trailer:27:5}".

0
28.01.2020, 04:49

Теги

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