用grep提取lsb_release -a输出中Description字段值中的版本(如18.04.5)
时间: 2023-03-21 13:03:16 浏览: 64
可以使用以下命令从 lsb_release -a 命令的输出中提取 Description 字段的版本信息:
lsb_release -a | grep -oP '(?<=Description:\s).*(?=\d)'
这个命令使用了 grep 的 -o 和 -P 选项。-o 选项表示只输出匹配的部分,-P 选项表示使用 Perl 正则表达式语法。
这个正则表达式 (?<=Description:\s).*(?=\d) 表示匹配 Description: 后面的空格,直到第一个数字前面的所有字符,即版本号。
相关问题
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
这个命令的作用是查看当前系统中 CUDA 和 cuDNN 的版本,具体输出如下:
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
可以看到当前系统中 CUDA 版本为 8.0.5,cuDNN 版本为 8.0.5。
grep: com12_2023-05-17_13_51_04.log:10: Invalid collation character
这个错误通常意味着在使用 grep 命令时,指定了一个无效的字符编码格式。请检查你的 grep 命令并确保使用的是正确的字符编码格式。可能需要使用 `-E` 或 `-P` 选项来指定正则表达式的编码格式。另外,也可以尝试使用 `iconv` 命令来转换文件编码格式。例如,如果文件编码为 UTF-16,可以使用以下命令将其转换为 UTF-8:
```
iconv -f UTF-16 -t UTF-8 com12_2023-05-17_13_51_04.log > com12_2023-05-17_13_51_04_utf8.log
```
然后在新文件上运行 grep 命令。