Depois de receber $ trailer:
count=$(echo $trailer | cut -d' ' -f2)
echo $count
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 !
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}".