【问题标题】:How to take two or more numbers from a file and add/subtract them如何从文件中获取两个或多个数字并添加/减去它们
【发布时间】:2018-02-05 18:19:53
【问题描述】:
文件时间戳:
TIME_SETRUN=1517299635
TIME_SUBMIT=1517299661
TIME_EXEC=1517771852
TIME_EXPIRE=1518117452
TIME_FINISHED=1517811003
我是个初学者。
这些是我在文件中找到的一些值。
我想从TIME_FINISHED之外的数字中添加/减去TIME_EXEC之外的数字。
我该怎么做?
当我尝试通过执行grep TIME_SETRUN file_name 来获取值时,我得到以下结果。
TIME_SETRUN=1517299635。
【问题讨论】:
标签:
linux
echo
add
subtraction
【解决方案1】:
您可以通过bash 和grep 获得这样的区别:
(grep -E "TIME_EXEC|TIME_FINISHED" yourfile ; echo 'echo $(( $TIME_FINISHED - $TIME_EXEC ))' ) | bash
这使用 one grep 一次性找到两次。让我们暂时忽略回声部分:grep ... | bash 将这些行 TIME_EXEC=1517771852 和 TIME_FINISHED=1517811003 转发到 bash 进程中。
echo 'echo $(( $TIME_FINISHED - $TIME_EXEC ))' 也转发引号内的字母。
因此,bash 进程看到转发了三行:变量的两个定义和输出差异的一行 echo $(( $TIME_FINISHED - $TIME_EXEC ))。