Bash - 当新行出现时只转到下一个索引,而不是空格?

2023-12-11

我正在使用名为 jq 的工具解析 JSON 响应。 jq 的输出将在命令行中提供全名列表。

我有变量getNames其中包含 JSON,例如:

{
    "count": 49,
    "user": [{
        "username": "jamesbrown",
        "name": "James Brown",
        "id": 1
    }, {
        "username": "matthewthompson",
        "name": "Matthew Thompson",
        "id": 2
    }]
}

我使用以下命令将其通过 JQ 传递以过滤 json:

echo $getNames | jq -r .user[].name

这给了我一个这样的列表:

James Brown   
Matthew Thompson   

我想将这些条目中的每一项放入 bash 数组中,因此我输入以下命令:

declare -a myArray    
myArray=( `echo $getNames | jq -r .user[].name` )

但是,当我尝试使用以下方式打印数组时:

printf '%s\n' "${myArray[@]}"

我得到以下信息:

James
Brown
Matthew
Thompson

如何确保在新行之后创建新索引而不是空格?为什么名字要分开?

Thanks.


一个简单的脚本在bash将输出的每一行送入数组myArray.

#!/bin/bash

myArray=()
while IFS= read -r line; do
    [[ $line ]] || break  # break if line is empty
    myArray+=("$line")
done < <(jq -r .user[].name <<< "$getNames")

# To print the array
printf '%s\n' "${myArray[@]}"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash - 当新行出现时只转到下一个索引,而不是空格? 的相关文章

  • 如何释放字符指针数组?

    我使用此方法将列表中的值转换为数组 以便在 execvp 系统调用中使用 char list2argarray struct shellvalue values int count char array char malloc count
  • 删除二维数组C++[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 这两种释放二维数组的方法是否相似 int M new int 5 for int i 0 i lt 5 i M i new int 3 fo
  • 复杂对象MVC3的JSON序列化

    我有一个问题 我似乎不知道如何序列化类型的对象 public class SchedulingCalendarMonth public List
  • 如何为 Gson 编写自定义 JSON 反序列化器?

    我有一个 Java 类 用户 public class User int id String name Timestamp updateDate 我收到一个包含来自 Web 服务的用户对象的 JSON 列表 id 1 name Jonas
  • 发送 POST 请求时 JSON 原语无效

    我有以下 ajax 请求 其中我尝试将 JSON 对象发送到服务器 function sendData subscriptionJson ajax type POST url Url Action SubscribeSecurities S
  • 为什么这个二维指针表示法有效,而另一个则无效[重复]

    这个问题在这里已经有答案了 这里我编写了一段代码来打印 3x3 矩阵的对角线值之和 这里我必须将矩阵传递给函数 矩阵被传递给指针数组 代码可以工作 但问题是我必须编写参数的方式如下 int mat 3 以下导致程序崩溃 int mat 3
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • TypeScript 枚举到对象数组

    我有一个这样定义的枚举 export enum GoalProgressMeasurements Percentage 1 Numeric Target 2 Completed Tasks 3 Average Milestone Progr
  • 使用 su 和 Expect 脚本登录用户时遇到问题

    我正在为一个班级制作一个网站 您可以使用用户名和密码登录 然后它会将您带到一个显示您在班级中的成绩的页面 该网站正在运行bash脚本 https github com jduga002 rapache 并将托管在用户已有用户名和密码登录的计
  • 协助 awk/bash 捕获内存差异

    我正在尝试从以下文件中提取以下输出 xr lab show clock Thu Sep 19 14 38 02 812 WIB 14 38 02 893 WIB Thu Sep 19 2019 xr lab xr lab xr lab sh
  • 编码:类型错误:write() 参数必须是 str,而不是 bytes

    我对 python 有初步的了解 但不清楚处理二进制编码问题 我正在尝试运行 firefox webextensions 示例中的示例代码 其中 python 脚本发送由 javascript 程序读取的文本 我不断遇到编码错误 蟒蛇代码是
  • 从 JSON 响应中删除元素

    我有一个 JSON 字符串 我希望能够从中删除一些数据 以下是 JSON 响应 ResponseType VirtualBill Response BillHeader BillId 7134 DocumentId MN003 052206
  • 通过标识引用对象的标准方法(例如循环引用)?

    JSON 中是否有通过身份引用对象的标准方法 例如 具有大量 可能是循环 引用的图形和其他数据结构可以被合理地序列化 加载吗 Edit 我知道做一次性解决方案很容易 列出图中所有节点的列表 然后 我想知道是否有一个标准的 通用的解决方案来解
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • Node.js - console.log 不显示数组中的项目,而是显示 [Object]

    我在注销对象内数组的内容时遇到问题 实际的物体看起来像这样 var stuff accepted item1 item2 rejected response Foo envelope from The sender to new item1
  • 在 angular2 中过滤数组

    我正在研究如何在 Angular2 中过滤数据数组 我研究过使用自定义管道 但我觉得这不是我想要的 因为它似乎更适合简单的表示转换 而不是过滤大量数据 数组排列如下 getLogs Array
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是
  • 查找哪个程序运行另一个程序

    我有一个 NAS 运行在 Redhat Linux 的有限版本上 我按照指示破解了它 这样我就可以访问 shell 这很有帮助 我还做了一些修改 其他人也做过修改 除了一个问题之外 它们似乎都工作得很好 不知何故 每隔 22 天 系统就会关
  • bash中的用户名、密码程序

    我有一个程序 要求用户输入用户名和密码 然后将其存储在文本文件中 第一列是用户名 第二列是密码 我需要一个命令 在用户输入用户名和新密码时替换密码 如下我拥有的 bin bash admin menu Register User echo
  • 为什么 $((true == false)) 在 bash 中计算结果为 1?

    为什么 bash 有以下行为 echo true false 1 我本以为这会打印0 但它打印1 以下事实使情况变得更加复杂 gt echo true 0 gt echo false 0 gt echo true true 1 gt ech

随机推荐

  • 是否可以防止在输出 UTF-8 文件时添加 BOM? (视觉工作室 2005)

    我需要一些帮助 我正在编写一个程序 以 UTF 8 编码打开 2 个不带 BOM 的源文件 第一个包含英文文本和一些其他信息 包括 ID 第二个仅包含字符串 ID 和翻译 该程序通过将第二个文件中的英文字符替换为俄语翻译来更改第一个文件中的
  • 如何解码 Stack Exchange API 响应

    我正在尝试检索堆栈交换 api 的响应 例如 我正在使用以下代码来检索响应 import java io BufferedReader import java io IOException import java io InputStrea
  • Android 2.0 联系人组操作

    我会在 Android 2 O 中操作联系人组 我的代码如下 要获取组列表 带有 id 和标题 final String GROUP PROJECTION new String ContactsContract Groups ID Cont
  • Android 中的语音到文本转换

    您好 我需要在 Android 中进行语音到文本转换的帮助 我已经在谷歌上搜索这个主题一个小时了 我找到的每个帮助都向我展示了如何将文本转换为语音 而不是相反 http android developers blogspot com 200
  • onActivityResult 未在从 ArrayAdapter 扩展的类中调用

    我进行了搜索 但在互联网上找不到有用的答案 这就是我提出质疑的原因 我喜欢加载相机并捕捉图像getView自定义 ArrayAdapter 类的方法 相机已加载并捕获图像 但onActivityResult 从未被调用过 我的代码如下所示
  • 此应用程序与此设备 iOS 不兼容

    When I update my iOS version from 9 3 to 9 3 1 then go to app store to install the app we get popup this app is not comp
  • 如何从 PHP 数组中回显一定数量的元素

    如果我有一个包含 100 个元素的数组 我如何仅回显 显示前 5 个元素 谢谢 See LimitIterator and ArrayIterator array range 1 100 iterator new LimitIterator
  • 如何验证 google openid 响应

    我正在尝试向我的用户添加授权抛出 google openid 我收到了 ID https www google com accounts o8 id id AIt Ew Bo 但我如何检查它是否合法 我的意思是用户可以使用另一个用户的电子邮
  • Java 高级成像 API 中的快速透视变换

    为了满足我的程序的需要 我创建了一个工具来扭曲图像并将其放置在地图上 我的程序是基于地图的程序 我编写了自己的机制 使用放置在图像上的三个点 放置在地图上的三个点来放置和扭曲图像 然后我简单地创建一个 AffineTransform 实际上
  • ImageMagick PDF 到 JPG 的转换结果出现在图像应在的绿色方块中

    我正在尝试使用 ImageMagick 将 PDF 转换为 JPEG PDF baby aRCWTU pdf 命令 convert density 260 profile SWOP icc profile sRGB icm baby aRC
  • Sencha Architect 3 不使用 app.css

    我正在尝试将自定义字体图标添加到我的 sencha Architect 项目中 并删除不必要的主题类 但似乎 Sencha Architect 根本不使用 app scss 位于我项目的 resources sass 文件夹中 我所做的更改
  • 如何向gridview添加复选框列

    如何向 gridview 添加复选框列 我试过了 foreach GridViewRow objRow in GridView1 Rows TableCell tcCheckCell new TableCell CheckBox chkCh
  • CocoaPods 停止安装 Firebase/Analytics,但出现错误

    我昨天已经将 Firebase Analytics 安装到了一个 iOS 项目中 我之前已经做过很多次了 今天我想添加 Firebase Crashlytics 突然它们都不再工作了 我收到以下错误消息 CocoaPods 找不到 pod
  • jcop 小程序上传错误

    我是 Java 卡开发的新手 我用jcop工具作为开发套件 当我在 Eclipse 中运行简单的小程序时 出现此错误 在运行配置中我选择Java卡模拟模式 在模拟模式下成功安装后 我想在java卡中安装应用程序 cm gt upload b
  • 如何找到两种颜色之间的所有颜色?

    我需要选择两种颜色 然后在它们之间找到 X 种颜色 或色调 每种颜色之间的 距离 相同 我还是不明白颜色是如何形成的 我应该尝试使用 HSV RGB 还是十六进制 除非你真的知道什么kind您需要多少种颜色 获得所有颜色几乎是不可能的bet
  • R 添加具有预定义模式的新列

    我正在尝试学习如何提供可重现的 R 示例以防我将来需要一个 我用SimSurv 函数 我想向其中添加六个新列 二进制变量 这些列的值不应平行或相交 var1元素 1 到 100 的值必须为 1 其余为 0 var2将从 101 开始到 20
  • Swift - 如何在 UITableViewCell 中使用 CollectionViewCell 打开另一个视图控制器

    我对 iOS Swift 非常陌生 而且我正在进行一个小项目 在这个项目中 我在 ViewController 中有一个 UITableView 我在 UITableViewCell 旁边有另一个文件自定义 CollectionViewCe
  • Python 2.7 str(055) 返回“45”而不是 055 [重复]

    这个问题在这里已经有答案了 为什么我在 python 2 7 中得到以下结果 而不是 055 gt gt gt str 055 45 055是一个八进制数 其十进制等效值是45 use oct以获得正确的输出 gt gt gt oct 05
  • 如何在 iOS 4 中更改 iPhone 应用程序的首选语言

    已讨论更改 iPhone 应用程序的语言many times 但我坚持这一点 提供的解决方案需要重新启动应用程序才能使更改生效 但如何在 iPhone 4 上实现这一目标呢 按 home 会将应用程序发送到后台 单击应用程序图标只会将其返回
  • Bash - 当新行出现时只转到下一个索引,而不是空格?

    我正在使用名为 jq 的工具解析 JSON 响应 jq 的输出将在命令行中提供全名列表 我有变量getNames其中包含 JSON 例如 count 49 user username jamesbrown name James Brown