计算 batch/UNIX 单管道中两个变量的总和
Calculating the sum of two variables in a batch/UNIX single piped line
我想在 batch/Cygwin 中执行一些基本的数学计算,但是 Whosebug 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”
取第一个条目数:head -<new number>
只取最后一行:tail -1
但是我不知道如何给数字加 1,所以我被困在这里了。
我已经尝试使用 bc
(基本计算器),但我的 Cygwin 安装似乎无法涵盖这一点。
因为我想把所有东西都放在一条管道中,所以 set /A
的用法没有意义。
有人知道吗?
提前致谢
抱歉,抱歉,我刚刚意识到 awk
能够进行一些基本计算,所以将 {print }
替换为 {print + 1}
我的问题就解决了。
Bash 内置支持将变量声明为整数以及对整数进行算术运算。 Bash 有一个 help
命令,您应该同时安装 man bash
和 info bash
。
我想在 batch/Cygwin 中执行一些基本的数学计算,但是 Whosebug 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”
取第一个条目数:head -<new number>
只取最后一行:tail -1
但是我不知道如何给数字加 1,所以我被困在这里了。
我已经尝试使用 bc
(基本计算器),但我的 Cygwin 安装似乎无法涵盖这一点。
因为我想把所有东西都放在一条管道中,所以 set /A
的用法没有意义。
有人知道吗?
提前致谢
抱歉,抱歉,我刚刚意识到 awk
能够进行一些基本计算,所以将 {print }
替换为 {print + 1}
我的问题就解决了。
Bash 内置支持将变量声明为整数以及对整数进行算术运算。 Bash 有一个 help
命令,您应该同时安装 man bash
和 info bash
。