【问题标题】:How to output specific cells of an array in bash?如何在bash中输出数组的特定单元格?
【发布时间】:2021-12-29 20:05:40
【问题描述】:

假设我有以下数组:

items[0]=0

items[1]=1

items[2]=2

等等

使用 echo/printf,我将如何只输出特定的单元格,例如只输出单元格 0、2、4。 到目前为止,我得到了这个:

echo "${items[*]}"

这会输出所有的数组,但我将如何更改这一行以使其仅输出指定的单元格?我很确定我只是错过了它的语法。

编辑:对不起,我不准确地描述了我在问什么。我需要了解的是,如何通过只调用一次数组来输出指定的数据点。

例如:

echo ${items[magical code stuff here]magical code stuff here too maybe}"

【问题讨论】:

  • 这与ssh无关。这纯粹是一个shell问题(大概是bash)。
  • bash 有一种简单的方法来打印数组的切片(一组连续的元素)(请参阅this answer),但没有简单的方法来打印不连续的元素列表。顺便说一句,您几乎不应该使用[*],因为它将元素混合成一个字符串。使用"${array[@]}" 来保持它们的区别。

标签: arrays bash


【解决方案1】:

将 * 替换为 0 2 4:

echo "${items[0]} ${items[2]} ${items[4]}"

【讨论】:

    猜你喜欢
    • 2019-07-02
    • 1970-01-01
    • 2019-12-19
    • 2013-05-16
    • 2015-10-09
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    相关资源
    最近更新 更多