linux - csh 内联数学

标签 linux shell csh

我需要在 csh 中做一些整数数学运算(不,其他 shell 不是一个选项,bc 也不是,perl 也不是,python 也不是,句号)。

bash中我的任务看起来像

seq 1 1 10 > m.txt  #supplied from elsewhere
a=2                 #supplied from elsewhere
b=3                 #supplied from elsewhere
head -n $[$a*$b] m.txt # the line in question

那么问题是csh 中是否有计算表达式 $[$a*$b] 内联?
我知道我可以在 csh 中执行 @c = $a * $b,但这不是内联的。我做了一些谷歌搜索和搜索,但到目前为止没有成功,所以非常感谢任何帮助!

最佳答案

您使用方括号是为了表示数组符号还是矩阵数学? csh 没有这样的内置功能。

否则,如果你的意思是像 bash $(($a * $b)),你可以使用带反引号的 csh cmd-substitution 来给你

head -n `expr $a \* $b` m.txt

请注意,如果您的目标是避免产生额外的进程,这不符合您的目标,但它是“内嵌的”

编辑 我发现我打错了 $( $a * $b ),请参阅上面的内联更正。

IHTH.

关于linux - csh 内联数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12923004/

相关文章:

linux - 使用 Bash 从日志文件的每一行中提取 IP 地址

Linux 火狐和 Flash 播放器的相机和语音权限设置未显示,但在 Windows 中有效

linux - bash 脚本中的“错误替换”错误

bash - 如何查看所有(包括隐藏)子目录

linux - 取消设置 C-Shell 中的所有环境变量

php - 文件包含从 Linux 到 Windows

linux - 如何在完成一个 shell 命令后执行其他命令

linux - 在 Linux 中并行启动多个命令并等待它们全部完成

linux - 如何使用 find 在 CSH 中复制带前缀的文件?

unix - 为什么在使用标准输入和输出的 csh 脚本中出现 "No Match"错误?