在 bash 中将命令的输出拆分为关联数组

2024-01-03

输出是

/     ext4
/boot ext2
tank  zfs

每行的分隔符是一个空格。我需要一个关联数组,例如:

"/" => "ext4", "/boot" => "ext2", "tank" => "zfs"

这在 bash 中是如何完成的?


如果命令输出在文件中file, then:

$ declare -A arr=(); while read -r a b; do arr["$a"]="$b"; done <file

或者,您可以直接从命令读取数据cmd放入数组中,如下所示:

$ declare -A arr=(); while read -r a b; do arr["$a"]="$b"; done < <(cmd)

构造<(...) is 过程替代。它允许我们从命令中读取数据,就像从文件中读取数据一样。注意两者之间的空间<是必不可少的。

您可以使用以下命令验证数据是否已正确读取declare -p:

$ declare -p arr
declare -A arr='([tank]="zfs" [/]="ext4" [/boot]="ext2" )'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 bash 中将命令的输出拆分为关联数组 的相关文章

  • 使用 sed 删除非字母数字字符

    我正在尝试验证一些输入以删除一组字符 只允许使用字母数字字符加 句点 下划线 连字符 我测试了正则表达式 w here http gskinner com RegExr http gskinner com RegExr 它与我想要删除的内容
  • 如何删除最后一次出现模式后的所有行?

    我想删除最后一次出现模式之后的所有行 除了模式本身 file txt honor apple redmi nokia apple samsung lg htc file txt 我想要什么 honor apple redmi nokia a
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 迭代 bash 脚本中的变量名称

    我需要在一堆文件上运行一个脚本 这些文件的路径被分配给train1 train2 train20 我想 为什么不使用 bash 脚本使其自动执行呢 所以我做了类似的事情 train1 path to first file train2 pa
  • jq:将对象数组转换为对象

    我收到了来自curl的回复 格式如下 list value 1 id 12 value 15 id 13 value 4 id 14 给定 id 之间的映射 如下所示 12 newId1 13 newId2 14 newId3 我想做这个
  • 使用 find 命令搜索直到第一个匹配项

    我只需要搜索可以在任何地方的特定目录有没有办法运行此命令直到第一个匹配 谢谢 我现在使用 find noleaf name experiment type d wc l 正如鲁道夫 米尔鲍尔 Rudolf M hlbauer 所提到的 qu
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • 如何通过保持目录结构完整来同步路径中匹配模式的文件?

    我想将所有文件从服务器 A 复制到服务器 B 这些文件在不同级别的文件系统层次结构中具有相同的父目录名称 例如 var lib data sub1 sub2 commonname filetobecopied foo var lib dat
  • 分叉/多线程进程|重击

    我想让我的代码的一部分更加高效 我正在考虑让它分叉成多个进程 并让它们一次执行 50 100 次 而不是只执行一次 例如 伪 for line in file do foo foo2 foo3 done 我希望这个 for 循环运行多次 我
  • Linux - 从第二个选项卡获取文本

    假设我们有这样的文件 一些文本11 一些文本12 一些文本13 一些文本21 一些文本22 一些文本23 文本由制表符分隔 我们知道第 1 列中的一些文本 但希望从第 2 列中获取文本 我知道我可以通过以下方式获取线路 grep somet
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • Bash 正则表达式——似乎无法匹配任何 \s \S \d \D \w \W 等

    我有一个脚本试图从 gparted 获取信息块 我的数据如下所示 Disk dev sda 42 9GB Sector size logical physical 512B 512B Partition Table msdos Number
  • Spyder 无法启动:spyder:找不到命令

    我已经安装了spyderpip3 install spyder在苹果电脑上 但是 当我无法从 bash 启动它时 它会显示spyder command not found 我已按照其说明进行操作Github页面 https github c
  • 在退出脚本之前等待后台进程完成

    在退出脚本 TCL Bash 之前 如何确保所有后台进程已完成执行 我正在考虑将所有后台进程 pid 写入 pid 文件 然后最后 pgrep pidfile 以查看在退出之前是否有任何进程仍在运行 有一些更简单的方法可以做到这一点吗 TC
  • 如何在 OS X 上查看 $PATH 变量的当前值?

    PATH returns bash usr local share npm bin Library Frameworks Python framework Versions 2 7 bin usr local bin usr local s
  • 通过shell脚本进行串口控制

    我正在开发一个方向控制器 我有一个开发板 它通过 I2C 与传感器 指南针 通信 由于主板非常有限 没有操作系统 我开发了一个简单的程序来接收以下内容 1 get 0 读取传感器的寄存器 0 2 set 0 10 将传感器的寄存器 0 设置
  • 用等号完成命令选项

    我正在尝试为可能需要表单上的长选项的命令编写一个 Bash 完成脚本 option or param value 如果用户已经在命令行上输入了一个选项 则该选项应从完成列表中排除 假设仅在命令行上指定一次给定选项才有意义 这是第一次尝试 m

随机推荐

  • 索引 0 {} 处缺少参数名称

    我尝试写一个演示 交付演示 https github com CIeNET Corda deliverydemo基于训练营cordapp https github com corda bootcamp cordapp并参考cordapp 示
  • 使用反射更改只读属性

    是否可以 通过反思还是其他方式 正如其他人所说 如果您需要这样做 那么您首先将面临设计问题 现在 如果你想知道这是否可能只是为了了解 或者如果地球上没有其他方法可以做到这一点 那么在一个非常小的帮助下 这确实是可能的辅助库 http git
  • 如何将数据文件包含在应用程序的 APK 中?

    我想在安装 Android 应用程序时创建一些预先创建的文件 我想在内部存储器 data data files 和新创建的 sdcard 目录 sdcard data1 中创建文件 我怎样才能做到这一点 如果您有大量文件和目录结构 则应使用
  • 如何使用 Stylish 或 Greasemonkey 替换 @media (max-width)?

    我在查看时遇到问题这个网站 http www fleaflicker com nfl 在我的桌面浏览器上 它们采用响应式 流畅设计 当浏览器宽度小于 990 像素时 显示移动菜单按钮而不是水平导航栏 由于我使用的是 125 缩放的 Fire
  • 如何在pandas中创建日历表(日期维度)

    数据库设计中有时会使用带有主键的日期表 date id Date Record timestamp Day Week Month Quarter Year half Year 0 2000 01 01 NaN Saturday 52 1 1
  • Django:db_index 和 makemigrations

    我想在模型中的现有字段中添加一些 db index 我刚刚添加了db index True到模型 我想我需要跑步python manage py migrate将它们应用到数据库上 我的问题是没有检测到任何更改 因此没有创建迁移 这是正常行
  • 使用 python 和 OpenCV 从图像中提取数字

    我正在寻找一些编码解决方案 帮助从液晶显示屏中提取数字 然后从图像中输出值 下面是代码和示例图像以及到目前为止我是如何得到的 但我需要一些进一步的帮助来实际从图像中提取 数字 并输出值 我从前面的例子中制作了数字查找表 import the
  • 尝试加载字体时出现 GD 错误

    我尝试通过以下方式加载字体图像加载字体 http www php net manual en function imageloadfont php功能 当我运行脚本时 我收到错误 gd warning product of memory a
  • R语言,暂停循环并要求用户继续

    我有一个想法在某些迭代中暂停循环并向 用户 询问一些答案 例如 some value 0 some criteria 50 for i in 1 100 some value some value i if some value gt so
  • 如何捕获无效的用户输入[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我不理解 Try throw catch 语句 并且想知道当代码中的所有 put 都应该是 int 时 捕获 char 的最佳方式是什么 这
  • TableView 单元格分隔线未延伸到整个单元格

    我正在开发一个新项目 并在 UI 中使用了故事板 我的所有 tableView 都存在行分隔符问题 下图显示了两条线 第一个是在属性检查器中设置的蓝色 第二个是黑色的 添加了我放置在单元格中的 imageView 该线确实延伸到单元格的右侧
  • 如何在 Java 中连接两个列表?

    有没有比以下更简单的方法 List
  • 无需分组即可获得最大值

    假设我有一张这样的表 name age a 1 b 2 c 3 d 4 e 5 f 6 通常 当我们选择 MAX age 时 它返回 f 6 元组 但我想要的是它应该按原样返回表 但所有年龄值都将是最大值 例如 name age a 6 b
  • 使用 Flyway 管理修补程序

    假设我有 2 个分支 Develop与迁移 V1 change1 V2 change2 V3 change3 V4 change4 V5 change5 Master迁移 部署在生产环境中 V1 change1 V2 change2 现在我
  • 如何在 jetpack compose 中显示具有适当大小/布局的垂直文本

    如何在 jetpack 中正确旋转文本并使其进行正确的布局 当我使用rotate文本对象上的修饰符会旋转文本 但布局中占用的大小似乎使用预旋转的文本宽度 这是我想要完成的一个简单示例 垂直文本应该位于狭窄空间的左侧 Composable f
  • 使用 groovy 将 ISO-8859-1 转换为 UTF-8

    我需要将 ISO 8859 1 文件转换为 utf 8 编码 而不丢失内容信息 我有一个如下所示的文件
  • 如何在 Python 中使用 AsciiDoc?

    最初的 AsciiDoc 处理器是用 python 编写的 但 AsciiDoc 演变为用 Ruby 编写的 Asciidoctor 形式 在我搜索如何处理现代 AsciiDoc Asciidoctor 方言 时 我只看到一篇文章 说有一个
  • 模块与命名空间 - 导入与需要 Typescript

    我很困惑module namespace export and import require reference用法 来自 Java 背景 有人可以简单地解释一下我何时使用什么以及什么是正确的设计 当我编写示例项目时 我觉得我搞砸了 到目前
  • XML 序列化类,具有隐藏继承成员的新属性

    我有以下抽象类结构 public abstract class Template Some properties and methods defined public abstract class Template
  • 在 bash 中将命令的输出拆分为关联数组

    输出是 ext4 boot ext2 tank zfs 每行的分隔符是一个空格 我需要一个关联数组 例如 gt ext4 boot gt ext2 tank gt zfs 这在 bash 中是如何完成的 如果命令输出在文件中file the