读取最后一行并转换为数字

读取最后一行并转换为数字

我有一个文本文件,其中包含标题、预告片和详细记录。

格式:

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 编写 shell 脚本。非常感谢 !

答案1

获得 $trailer 后:

count=$(echo $trailer | cut -d' ' -f2)
echo $count

答案2

使用花括号获取子字符串:

count=${trailer:29:5}

请注意,使用“${trailer:27:5}”复制/粘贴的示例看起来更正确。

相关内容