【发布时间】:2014-02-09 19:42:10
【问题描述】:
我需要帮助来格式化下面的文件,并对具有某种模式的特定行进行一些计算
hnt 1 454 454
gft 10 8844 8853
step 2 23 24
str 10 Check sum(00244-00240) 420 434
dert 03 14 16
ghh 33 Check sum(12366-12361) 8008 8046
我需要通过对具有文本“校验和”的行执行减法来获得四列文件。 我希望删除文本“校验和”,然后减去 ( ) 中给出的数字。例如(00244-00240) 将被减去并且将具有值“4”并且这个“4”将被添加到具有值“10”的左列。 所以现在这个值将变成'14'。在此计算之后,该行上的其他值将按列向左移动。从而制作四列表格而不是六列
想要的输出是
hnt 1 454 454
gft 10 8844 8853
step 2 23 24
str 14 420 434
dert 03 14 16
ghh 38 8008 8046
我是 shell 脚本的新手,感谢您帮助我使用 awk 或 sed 或同时使用两者来获得所需的输出。如果不使用 awk 和 sed 以及在 unix shell 脚本中使用其他命令也可以实现这一点,我也可以
【问题讨论】: