我想在batch / Cygwin中执行一些基本的数学计算,但StackOverflow question: Calculating the sum of two variables in a batch script中描述的解决方案正在使用set /A
命令。
这不适合我,因为我想把所有东西放在管道中(UNIX风格,因此是Cygwin)。
我的想法如下:我有一个包含条目的文件列表。我想为所有提到的文件显示该条目背后的一行。
因此我在考虑采用以下方法:
找到找到条目的行:fgrep -n <entry>
//这会显示行号和条目本身
仅显示行号:fgrep -n <entry> | awk -F ':' '{print $1}'
添加&#39; 1&#39;那个号码
获取第一笔条目:head -<new number>
只取最后一行:tail -1
但由于我不知道如何在数字中加1,我被困在这里。
我已经尝试过使用bc
(基本计算器),但我的Cygwin安装似乎没有涵盖这一点。
由于我希望在一个管道行中包含所有内容,因此set /A
的使用情况尚未发生。
有人有想法吗?
提前致谢
答案 0 :(得分:0)
抱歉,抱歉,我刚才意识到awk
能够进行一些基本计算,因此将{print $1}
替换为{print $1 + 1}
我的问题就解决了。
答案 1 :(得分:0)
Bash内置支持将变量声明为整数并对整数进行算术运算。 Bash有help
命令,您应该同时安装man bash
和info bash
。