【问题标题】:Perform arithmetic on a number in a pipe对管道中的数字执行算术运算
【发布时间】:2014-05-11 12:08:32
【问题描述】:

BASH: how to perform arithmetic on numbers in a pipe极为相似

但是,该答案涉及多个数字,因此使用循环,这似乎很愚蠢,因为我只有 1 个数字

date +%s | echo $((1400000000 - $number)) | ...

编辑:我打算传递这个命令来观看,所以使用 shell 扩展将无法正常工作......我知道我可以让它自己的脚本,但我想知道我是否可以只用一行整件事

【问题讨论】:

    标签: linux shell unix math pipe


    【解决方案1】:

    您可以在 shell 中使用 bc 进行算术运算。

    echo "1400000000 - `date +%s`" | bc
    

    【讨论】:

      【解决方案2】:
      echo $((1400000000 - $(date +%s))) | ...
      

      【讨论】:

      • 我打算通过这个命令来观看,所以使用 shell 扩展不是一个选项
      【解决方案3】:

      我无法进行 shell 扩展,而是设法让 John C 的答案变体起作用:

      date +%s | xargs -I d echo "1400000000 - d" | bc | ...

      当然,还有其他几种选择

      【讨论】:

        猜你喜欢
        • 2012-09-12
        • 1970-01-01
        • 2017-01-10
        • 2013-02-19
        • 2013-09-06
        • 1970-01-01
        • 2015-02-06
        • 1970-01-01
        • 2012-06-19
        相关资源
        最近更新 更多