linux查询到命令行存入数组

fiy 其他 87

回复

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

    要在Linux中查询命令行并将结果存入数组,可以使用以下步骤:

    1. 使用`$()`或“` “ “`来执行命令,并将结果赋值给变量。例如:
    “`shell
    result=$(command)
    “`
    或者
    “`shell
    result=`command`
    “`
    其中,`command`是要执行的命令。

    2. 将结果拆分成数组。可以使用`read`命令以空格作为分隔符将结果逐行读入数组。例如:
    “`shell
    read -ra array <<< "$result"```这会将结果按空格拆分成多个元素,并存储在名为array的数组中。下面是一个完整的示例代码,将命令行查询的结果存入数组中:```shell# 执行命令result=$(command)# 将结果拆分成数组read -ra array <<< "$result"# 遍历数组并输出元素for element in "${array[@]}"do echo "$element"done```以上代码首先执行命令并将结果存入变量`result`,然后使用`read`命令将结果拆分成数组`array`,最后使用循环遍历数组并输出每个元素。请根据实际需求修改命令和处理数组的逻辑。这只是一个示例,你可以根据具体情况进行调整。

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

    在Linux中,可以使用命令行将输出结果存入数组。下面是一些常用的方法:

    1. 使用命令替换:
    通过使用$(命令替换)语法,可以将命令行输出结果存入变量中。例如,将ls命令的输出结果存入数组arr:
    “`bash
    arr=($(ls))
    “`
    此时,arr数组的每个元素将包含ls命令输出的每个文件名。

    2. 使用readarray命令:
    readarray命令可以从标准输入中读取数据并将其存入数组中。可以使用管道将命令的输出传递给readarray命令。例如,将ls命令的输出结果存入数组arr:
    “`bash
    ls | readarray arr
    “`
    也可以使用重定向将文件的内容传递给readarray命令,例如:
    “`bash
    readarray arr < file.txt```3. 使用变量赋值:利用Shell的变量赋值,也可以将命令行输出结果存入数组。例如,将ls命令的输出结果存入数组arr:```basharr=($(ls))```或者使用循环赋值的方式,将ls命令的输出结果逐行存入数组arr:```basharr=()while IFS= read -r line; do arr+=("$line")done < <(ls)```4. 使用xargs命令:xargs命令可以从标准输入中获取数据,并将其作为参数传递给其他命令。可以将命令的输出结果通过管道传递给xargs命令,并将其存入数组。例如,将ls命令的输出结果存入数组arr:```basharr=($(ls | xargs))```5. 使用awk命令:awk命令是一种强大的文本处理工具,可以将命令行输出结果存入数组。例如,将ls命令的输出结果存入数组arr:```basharr=($(ls | awk '{print $1}'))```这里的awk命令通过指定'{print $1}'来只输出文件名,可以根据实际需求进行调整。以上是在Linux中将命令行输出结果存入数组的几种常用方法。根据具体情况选择适合自己的方式进行处理。

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

    在Linux中,可以通过一些命令将命令行的结果存入数组中。下面是一种常用的方法:

    1. 使用命令和管道将命令行输出存入数组:

    “`bash
    # 执行命令并将输出存入数组
    array=($(command))

    # 例如,将ls命令的结果存入数组
    array=($(ls))

    # 使用echo命令输出数组的内容
    echo “${array[@]}”
    “`

    2. 使用命令的输出重定向将结果存入数组:

    “`bash
    # 执行命令并将输出存入文件
    command > file.txt

    # 将文件内容存入数组
    array=($(cat file.txt))

    # 使用echo命令输出数组的内容
    echo “${array[@]}”

    # 删除文件
    rm file.txt
    “`

    3. 使用命令的输出重定向和命令替换将结果存入数组:

    “`bash
    # 执行命令并将输出存入数组
    array=($(command))

    # 例如,将ls命令的结果存入数组
    array=($(ls))

    # 使用echo命令输出数组的内容
    echo “${array[@]}”
    “`

    4. 使用循环和命令替换将命令的每一行存入数组:

    “`bash
    # 创建空数组
    array=()

    # 使用循环读取命令输出的每一行
    while IFS= read -r line; do
    array+=(“$line”)
    done < <(command)# 使用echo命令输出数组的内容echo "${array[@]}"```上述方法可以根据实际需求选择适合的方式来将命令行的输出存入数组中。需要注意的是,由于命令行的输出可能包含空格或特殊字符,建议在使用数组元素时加上双引号,以避免解释器错误解析。

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

400-800-1024

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

分享本页
返回顶部