如何提取 proc 文件的 linux 版本和 gcc 版本?

How can I extract the linux version and gcc version of the proc file?

如问题所述,我想知道如何从 proc 文件中获取 linux 和 gcc 版本。我知道我必须使用 cat /proc/version 但结果是太多(对我而言)不必要的信息。如果我 运行 命令我得到这个:MINGW64_NT-10.0-19042 version 3.1.6-340.x86_64 (@fv-az314) (gcc version 9.3.0 (GCC) ) 2020-07-09 14:33 UTC(cmder bash.exe 中的命令是 运行)。相反,我想要的是只获得 3.1.6-340.x86_64(linux 版本)和 9.3.0(gcc 版本)。我知道有些命令允许进行此类信息提取,但由于我是 bash 脚本编写的新手,所以我不知道该怎么做。我想要的输出是:Linux: <linux version> \n gcc: <gcc version>(其中 \n 是换行符)。

感谢所有帮助。

代码为:

var1=$(uname -r)
var2=$(gcc -dumpversion)
echo -e "Linux version is $var1 \n gcc version is $var2"

这应该会为您提供所需的输出

我保留了您的“格式”,但我不确定这是否是您真正想要的。

awk '{printf "Linux: %s \n gcc: %s", , gensub(/^.*gcc version ([^ ]+).*$/, "\1","1",[=10=])}' /proc/version
Linux: 5.4.0-72-generic 
 gcc: 9.3.0tink@linux:~