Bash:循环遍历名称中包含模式的变量

2023-11-21

在我的脚本中,我有未知数量的包含角度的变量,我想将它们转换为向量。我创建了变量名称,使每个“参数”的角度具有以下形式: {参数}_角度_{纬度/纬度} 因此,每个参数都有一个“lat”和“perp”角度变量。 所以我想做的是找到包含“_angle_lat”的所有变量,对这些变量的值进行一些计算,并创建一个包含“参数”名称的新变量。 例如:

export M0_angle_lat=4
export M1_angle_lat=70
export M1_angle_perp=8
export M0_angle_perp=90

# Now I want to use these values to calculate vectors
for varname in *_angle_lat
do
    # at first iteration it will get for example "varname=M0_angle_lat" in which case
    # I want it to do:
    M0_X=$(( $M0_angle_lat * $M0_angle_perp ))
    # The second iteration in case would then give "varname=M1_angle_lat" in which case
    # I want it to do:
    M1_X=$(( $M1_angle_lat * $M1_angle_perp ))
done

我希望我的目标很清楚。谢谢您的帮助!


你能做的就是使用env获取所有变量的列表,然后迭代它们:

while IFS='=' read -r name value ; do
  if [[ $name == *'_angle_lat'* ]]; then
    echo "$name" ${!name}
    prefix=${name%%_*} # delete longest match from back (everything after first _)
    angle_lat="${prefix}_angle_lat"
    angle_perp="${prefix}_angle_perp"
    result="${prefix}_X"
    declare "${result}=$(( ${!angle_lat} * ${!angle_perp} ))"       
  fi
done < <(env)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash:循环遍历名称中包含模式的变量 的相关文章

  • 定时器时间不作为变量改变?

    这是我的代码 private int V Time 1 try final Timer V Timer final Handler V Handler V Timer new Timer V Handler new Handler Loop
  • 为什么 count 比 $count 差

    我只是在查看不同问题的答案以了解更多信息 我看到一个answer https stackoverflow com a 4891402 429850这表明在 php 中编写这样的做法是不好的做法 for i 0 i
  • 评估 df 每行中的日期时间函数是否落在另一个 df 中的日期时间范围内

    我是 python 新手 需要一些帮助来解决有关日期时间函数的问题 I have df a其中有一列标题为time 我正在尝试创建一个新专栏id在这个df a 我想要id根据时间是否包含在某个时间范围内来确定的列df b date 和 da
  • 带有 FOR 的批处理脚本不起作用

    我需要以下脚本的帮助 machine txt 的下一行不会继续 如果我把 放在 echo machine 后面 它会显示 machine txt 中的机器 因此 它可以工作 但是当 位于脚本末尾时 它不会继续 并退出 echo off se
  • for 循环与 cor.test 在许多类别上

    我正在尝试在 R 中编写一个循环 它将循环遍历 3 个不同的物种 以计算两个连续变量 Redness 和 VarNormAbund 之间的相关性 我的循环正在运行 但 3 个物种中每一个的输出都是相同的 这让我认为循环卡在第一个物种上 co
  • 将 bash 提示符下的当前命令复制到剪贴板

    我想要一个快速的键盘命令序列 将 bash 提示符处的当前命令复制到剪贴板 例如 要将最后一个 bash 命令复制到剪贴板 我会按 up some command sequence 复制它 或者 例如 要在 bash 历史记录中搜索命令 我
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • Grep 搜索带有换行符的字符串

    如何使用 grep 输出下面给出的输入文件中出现的字符串 export to excel 具体来说 如何处理搜索字符串之间发生的换行符 grep 中是否有一个开关可以执行此操作或其他命令 输入文件 文件a txt 等等 导出到优秀 巴拉巴拉
  • 在 Visual C# 中的 TextBox/Label 中显示 int 变量 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在创建我的第一个 C 项目 但我找不到在文本框或标签中显示整数变量的方法 我使用的是 Visual C 和 Visual Studio
  • matlab 中的 for 或 while 循环

    我刚刚开始在编程课的 matlab 中使用 for 循环 基本的东西对我来说很好 但是我被要求 使用循环创建一个 3 x 5 矩阵 其中每个元素的值是其行号其列号除以行号和列号之和的幂 例如元素 2 3 的值为 2 3 2 3 1 6 那么
  • 保存下拉列表中的值

    这是我的情况 我有 2 页 一页用于选择值 一页用于编辑与该值关联的数据库相关内容 现在 我对如何将从下拉列表中选择的值保存到 PHP 的变量中一无所知 并且已经进行了相当多的研究 有任何想法吗 HTML
  • Python 子进程:无法转义引号

    我知道以前曾问过类似的问题 但它们似乎都是通过重新设计参数的传递方式 即使用列表等 来解决的 但是 我这里有一个问题 因为我没有这个选项 有一个特定的命令行程序 我使用的是 Bash shell 我必须向其传递带引号的字符串 它不能不被引用
  • C++11 基于范围的自动 for 循环(按值、引用和指针)

    我知道如何在 for 循环中使用 auto 关键字来按值或引用迭代此数组 struct A void fun int main A a 2 Value for auto x a x fun Ref for auto x a x fun Po
  • Xcode 方案预操作脚本未运行

    点击构建 构建日志中不会打印任何内容 是什么赋予了 Xcode 版本 8 2 1 8C1002 预操作发生在构建之前 因此输出不会进入构建日志 而是进入 stdErr 您可以将输出复制到文件中 exec gt PROJECT DIR pre
  • Jade(当前称为“Pug”)模板引擎中的循环

    我想使用一个简单的循环 例如for int i 0 i lt 10 i 如何在 Jade 引擎中使用它 我正在使用 Node js 并使用expressjs 框架 例如 for var i 0 i lt 10 i li array i 你可
  • For 循环内的 For 循环 Javascript

    由于某种原因 该语句跳过了一些数据 我是否缺少一个 continue 语句某处或某事 这是代码 for var i 0 len data ORDER STATUS 0 ORDERS length i lt len i if data ORD
  • 当放入对象方法内时,引用拉入封装方法的方法会移出范围

    当我将引用拉入包的方法放入另一个方法中时 它会离开范围并失败 执行此操作的正确方法是什么 我尝试玩弄 自我 但我是新人 但没有成功 所需的解决方案 不起作用 返回错误 nil NilClass 的未定义方法 accounts NoMetho
  • 如何在bash中进行二进制加法

    我正在尝试将两个 32 位二进制数相加 其中之一是常数 address range in binary 另一个是数组的元素 IPinEachSubnet val 我正在尝试按照说明进行操作here https www linuxquesti
  • 在bash中用其他文件过滤一个文件

    我有一个带有数字的文件 例如 cat file 31038467 32048169 33058564 34088662 35093964 31018168 31138061 31208369 31538163 31798862 和其他例如
  • 通过 SSH 的 sbt (Scala) 结果找不到命令,但如果我自己这样做就可以工作

    所以我正在尝试做一些涉及跑步的事情sbt通过 SSH 命令 这就是我正在尝试的 ssh my username

随机推荐

  • 如何从 data.table 中的 `.BY` 中受益?

    这是手册中的解释 BY BY是一个列表 其中每个项目都包含长度为 1 的向量by 这在以下情况下很有用 by事先不知道 这by变量也可用于j直接说出名字 例如对于图表标题很有用 如果j是一个绘图命令 或者分支if 取决于组变量的值 它说 例
  • MySQL中对字符串字符进行排序

    我在 mysql 表中有一个列 varchar 255 我们称其为 word 如何编写一个选择查询 返回按字符串中的字符排序的此列中的值 例如 如果其中一条记录包含 earth 一词 它应该为所有行返回 aehrt 等 有什么方法可以在单个
  • 如何在 Swift 中禁用 WKWebView 中的用户选择?

    我开发了一个应用程序 它使用 Swift 中的 WKWebView 显示网页 我需要禁用用户选择和标注 因为网络加载图表 但我找不到任何方法可以使用 WKWebView 执行此操作 这是我的代码 import UIKit import We
  • 如何让 json_encode() 与 ISO-8859-1 配合使用 (åäö)

    json encode 当我使用 时 它不会为我工作 为什么 我怎样才能让它发挥作用 The php echo json encode arr The javascript var theResponse JSON parse xmlHtt
  • 安全删除内存中的密码 (Python)

    如何将用户输入的密码存储在内存中并在不再需要时安全地删除它 详细来说 目前我们有以下代码 username raw input User name password getpass getpass mail imaplib IMAP4 MA
  • QComboBox点击事件

    我一直在努力得到一个QComboBox在 PyQt5 中从数据库表填充 问题是试图找到一种识别其点击事件的方法 在我的 GUI 中 我的组合框最初是空的 但是单击它后 我希望单击事件激活我的方法 以与数据库通信并填充下拉列表 到目前为止 似
  • Javascript 函数仅在有警报时才起作用

    这段代码执行post php function SubmitForm var input input val var user anon post post php input input user user function data a
  • 如何在CSS中创建不规则的正方形? [复制]

    这个问题在这里已经有答案了 正在寻找用 CSS 制作这个特定形状的代码 非常感谢任何帮助 您可以通过一些旋转和视角来做到这一点 box width 150px height 120px background f540a8 margin 20
  • NSMetadataQuery 忽略自定义文件包类型

    我在用着UIManagedDocument管理我在 iCloud 中的文件 设置完后NSMetadataQuery像这样 iCloudQuery NSMetadataQuery alloc init iCloudQuery setSearc
  • 如何检查用户是否将“input”或“raw_input”提示留空?

    如何检查输入是否已输入 例如 python2 x str raw input Message gt gt 或者 python3 y input Number gt gt 你知道如果第二个没有输入任何内容 因为它会引发SyntaxError
  • Angularjs - 处理整个应用程序的 401

    我的一个控制器中有以下代码来优雅地处理 401 ChannelsService query function response scope channels response function error if error status 4
  • iOS 5 NSURL连接到HTTPS服务器

    我已经搜索了几个小时有关NSURLConnection允许我用来连接到任何 HTTPS 服务器的委托 方法 即使我在这个网站上搜索 我也找到了答案 但这些答案对我不起作用 如果你们需要的话 我会上传代码链接 但我更喜欢一个简单的教程 示例代
  • 改变WPF按钮的形状而不改变其他样式

    我想将 WPF 按钮的形状从默认的圆角矩形更改为其他形状 例如箭头 但我想保留其余的样式 填充颜色 边框颜色 悬停状态等 希望按钮与所有其他常规按钮具有相同的样式 我相信这取决于 Windows 版本 系统主题颜色等 所以我不能从头开始重新
  • 当作为带有接口约束的泛型参数传递时,值类型是否被装箱?

    As a result of doing the research to answer this question I think I have determined that the answer is no However I had
  • 为什么十六进制颜色值中有一个前导“#FF”?

    我在用着表达混合3 并手动编写一些 XAML 特别是控件的颜色值 我有一个已转换为十六进制的 RGB 颜色列表 我只需要将十六进制值插入到我的 XAML 中 最初 我将电子邮件中的十六进制值粘贴到适当的属性中 在我完成之前 Blend 开始
  • 绑定到 Xamarin Forms 中的附加属性

    如何绑定到 Xamarin Forms XAML 中的附加属性 这不起作用 但它可以编译并且最有意义 BindingContext x Binding Source x Reference ControlName Path XMLNameS
  • Zend 框架清除缓存

    我正在使用此代码在 zend 框架中缓存数组 frontendOptions array lifetime gt 24 3600 7 cache lifetime of 7 day automatic serialization gt tr
  • 绘制对数分类网络度分布

    我经常遇到并从复杂网络中制作长尾度分布 直方图 如下图所示 从许多观察来看 它们使这些尾巴的末端很重 非常重和拥挤 然而 我读过的许多出版物都有更清晰的度分布 在分布末尾没有这种聚集 并且观察结果的间隔更均匀 如何使用以下方法制作这样的图表
  • Topshelf 窗口服务在尝试启动服务时出现错误 1053

    我使用 Topshelf 开发了一个 Windows 服务 它在本地运行良好 当我部署测试并尝试启动服务时 出现以下错误 Error 1053 The service did not respond to the start or cont
  • Bash:循环遍历名称中包含模式的变量

    在我的脚本中 我有未知数量的包含角度的变量 我想将它们转换为向量 我创建了变量名称 使每个 参数 的角度具有以下形式 参数 角度 纬度 纬度 因此 每个参数都有一个 lat 和 perp 角度变量 所以我想做的是找到包含 angle lat