linux查询到命令行存入数组

fiy 其他 29

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,可以使用管道操作符`|`将命令行的输出传输给其他命令。要将命令行的输出存入数组,可以使用将命令`readarray`或`mapfile`与管道操作符结合使用。

    1. 使用`readarray`命令:
    “`
    command | readarray array_name
    “`
    这将将命令`command`的输出存入名为`array_name`的数组中。例如,要将`ls`命令的输出存入名为`files`的数组中,可以使用以下命令:
    “`
    ls | readarray files
    “`

    2. 使用`mapfile`命令:
    “`
    command | mapfile -t array_name
    “`
    这将将命令`command`的输出存入名为`array_name`的数组中,并移除每个元素结尾的换行符。例如,要将`ls`命令的输出存入名为`files`的数组中,可以使用以下命令:
    “`
    ls | mapfile -t files
    “`

    在将命令行的输出存入数组后,可以通过索引来访问数组中的元素。例如,要访问数组`files`中的第一个元素,可以使用`${files[0]}`语法。

    总结:要将命令行的输出存入数组,可以使用`readarray`或`mapfile`命令与管道操作符结合使用。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,可以使用一些命令来查询命令行并将结果存入数组。下面是几种常见的方法:

    1. 使用变量和命令替换:
    可以使用变量和命令替换来将命令行查询结果存入数组。在命令行中使用命令 `command` 来查询结果,并将其存入变量,然后使用 `$()` 或 “ 将变量的值替换为查询结果。最后,可以使用 `array=($(command))` 将结果存入数组。

    例如,要将ls命令的结果存入数组,可以使用以下命令:
    “`
    array=($(ls))
    “`

    2. 使用for循环和命令替换:
    另一种方法是使用for循环和命令替换来将命令行查询结果存入数组。首先,使用命令查询结果,并将其存入变量。然后,使用for循环遍历变量中的每个结果,并将结果添加到数组中。

    例如,要将ls命令的结果存入数组,可以使用以下命令:
    “`
    results=$(ls)

    array=()
    for result in $results
    do
    array+=($result)
    done
    “`

    3. 使用readarray命令:
    `readarray` 命令可以直接将输入内容存入数组。可以使用命令替换来将命令输出作为 `readarray` 的输入。

    例如,要将ls命令的结果存入数组,可以使用以下命令:
    “`
    readarray array <<< $(ls)```4. 使用管道和xargs命令:可以使用管道和xargs命令来将命令行查询结果存入数组。首先,使用命令查询结果,然后使用管道将结果传递给xargs命令。最后,使用 `xargs` 将结果存入数组。例如,要将ls命令的结果存入数组,可以使用以下命令:```array=()ls | xargs -I {} array+=("{}")```5. 使用awk命令:可以使用awk命令来将命令行查询结果存入数组。使用awk命令将每个结果作为数组的一个元素,并使用分隔符指定数组元素之间的分隔符。例如,要将ls命令的结果存入数组,可以使用以下命令:```array=($(ls | awk '{print}'))```使用这些方法,你可以方便地将命令行查询结果存入数组,以便在后续的脚本和处理中使用。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux中,可以使用命令行将输出结果存储到数组中。

    以下是在Linux中使用命令行查询并将结果存储到数组的方法和操作流程。

    1. 声明一个数组变量:
    “`
    array=()
    “`

    2. 使用命令行查询并将结果存储到数组中:
    “`bash
    array=($(command))
    “`

    这里的`command`是你要执行的命令,可以根据需求替换成任何合适的命令。例如,如果要查询文件夹中的所有文件名,并将结果保存到数组中,可以使用以下命令:
    “`bash
    array=($(ls))
    “`

    在这个例子中,`ls`命令用于列出当前文件夹中的所有文件,并将结果存储到数组中。

    3. 使用数组中的值:
    通过索引访问数组中的值,索引从零开始。例如,要访问数组中的第一个元素,可以使用以下语法:
    “`bash
    echo ${array[0]}
    “`

    如果要访问整个数组,可以使用以下语法:
    “`bash
    echo ${array[@]}
    “`

    上述命令将打印出数组中的所有元素。

    以下是一个完整的示例,演示如何将命令行输出存储到数组中并使用它们:
    “`bash
    # 声明一个数组变量
    array=()

    # 使用命令行查询并将结果存储到数组中
    array=($(ls))

    # 访问数组中的值
    echo “第一个文件名是:${array[0]}”
    echo “所有文件名是:${array[@]}”
    “`

    通过上述步骤,可以在Linux中使用命令行查询并将结果存储到数组中,并且可以方便地使用数组中的值。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部