regex - 如何从 linux 内核版本字符串或内核目录列表中提取版本号
问题描述
例如ls
可能返回字符串
/boot/vmlinuz-5.9.12-100.fc32.x86_64
想要一个正则表达式工具来提取5.9.12-100
问题重复但附加主题 用于版本号解析的正则表达式
但因为如此,我无法添加我的答案......
解决方案
一种解决方案使用uname
:
$ uname -r
5.4.0-70-generic
$ uname -r | sed -re 's/(^[0-9]*\.[0-9]*\.[0-9]*-[0-9]*)(.*)/\1/'
5.4.0-70
另一个使用ls
:
$ ls -1 /boot/vmlinuz* | sed -re 's/(^[a-z/]*-)([0-9]*\.[0-9]*\.[0-9]*-[0-9]*)(.*$)/\2/'
5.4.0-67
5.4.0-70
推荐阅读
- pip - 为什么 pip3 命令没有在我的终端中运行?
- docker - 如何为 docker-compose celery 命令配置 pycharm 调试?
- javascript - 如何在脚本标签中正确使用延迟/异步属性
- javascript - React.js:使用 Map 函数将对象数组转换为数组数组,取决于指定的属性
- backend - Varnish VCL 后端主机名
- node.js - 增加所有 Node.js 进程的内存限制
- javascript - 在 Chrome 中生成下载时出现网络错误
- .net - SSH.NET - 更改密钥交换方法
- apache2 - 无法创建名为“Zend\Authentication\AuthenticationService”的服务。原因:会话验证失败
- flutter - 如何在颤动中动态隐藏和显示底栏