该命令nvcc --version
输出以下内容:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_21:14:42_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89
我正在尝试获取 cuda 版本,在本例中是10.2
来自第 4 行。
因此我尝试了以下操作:
cudaVersion="$(nvcc --version| grep 'Cuda compilation ')"
echo "$cudaVersion"
但是这给了我整行作为输出。但是我只想将版本分配给cudaVersion
我相信这必须与 一起工作cut
,但我无法得到它
提前致谢
答案1
使用grep
Perl 正则表达式支持(grep -P
):
$ nvcc --version | grep -Po 'release \K\d+\.\d+'
11.2
-o
仅打印匹配的文本。release \K
release
查找后跟空格的字符串,然后将其从匹配中排除(\K
),以便只有后面的部分\K
包含在匹配的文本中。- 后面的部分
\K
是\d+
(至少一位数字)后跟一个句点(\.
),后跟至少一位数字(\d+
),与实际版本号相匹配。