Linux 如何将命令lspci的结果作为数组的一个元素读取每行?

Linux 如何将命令lspci的结果作为数组的一个元素读取每行?,linux,bash,shell,Linux,Bash,Shell,我想从我的目标系统获得视频卡信息,无论它是什么。从我当前的目标系统返回两行,我想将每一行作为数组的一个元素。 使用下面的代码,我从lspci结果中得到了每个单词,而不是我需要的整行代码。有什么想法吗 myvideos=(`lspci | grep VGA`) for video in ${myvideos[@]} do echo "The $video" done 代码返回的结果是: The 00:02.0 The VGA The compatible The controller: T

我想从我的目标系统获得视频卡信息,无论它是什么。从我当前的目标系统返回两行,我想将每一行作为数组的一个元素。 使用下面的代码,我从lspci结果中得到了每个单词,而不是我需要的整行代码。有什么想法吗

myvideos=(`lspci | grep VGA`)
for video in ${myvideos[@]}
do
   echo "The $video"
done
代码返回的结果是:

The 00:02.0
The VGA
The compatible
The controller:
The Intel
The Corporation ....
我需要的是:

00:02.0 VGA compatible controller: Intel Corporation
谢谢大家!

  • 用于将输出捕获到阵列中

    mapfile -t myvideos < <(lspci | grep VGA)
    
  • 用于将输出捕获到阵列中

    mapfile -t myvideos < <(lspci | grep VGA)
    

  • 在不使用阵列的情况下,还有其他方法可以执行相同的操作:

    lspci | grep VGA |  xargs -i echo The {}
    


    在不使用阵列的情况下,还有其他方法可以执行相同的操作:

    lspci | grep VGA |  xargs -i echo The {}
    


    这是。我需要一个数组,而不仅仅是读一行,谢谢!是的,那是那页内容的一部分。技术上是这样,但它是从001链接的。这是。我需要一个数组,而不仅仅是读一行,谢谢!是的,那是那页内容的一部分。技术上是这样,但它是从001链接的。