leia a última linha e converta para numérico

0

Eu tenho um arquivo de texto que contém cabeçalhos, trailers e registros detalhados.

formato:

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

Eu quero analisar '00004' e fazer alguns cálculos.

Eu li o registro do trailer, mas não consigo analisar 00004

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

saída:

T2016101020161010          00004

Eu não posso escolher 00004.

A posição inicial e o comprimento do 00004 são fixos e eu posso codificá-lo. Também quero armazená-lo em uma variável e realizar operações aritméticas neles.

Estou escrevendo um script de shell usando o ksh. Muito Obrigado !

    
por kpython 10.10.2016 / 19:34

2 respostas

0

Depois de receber $ trailer:

count=$(echo $trailer | cut -d' ' -f2)
echo $count
    
por 10.10.2016 / 19:43
0

Use chaves para obter a substring:

count=${trailer:29:5}

Observe que seu exemplo de cópia / colado parece mais correto usando "$ {trailer: 27: 5}".

    
por 10.10.2016 / 19:57

Tags