如何用AWK从grub.cfg提取Linux内核版本并缩短现有命令
简化grub内核版本提取命令方案
可以通过单条awk命令实现完全相同的输出效果,无需多管道拼接,简化后命令如下:
awk -F"[' ]+" '/menuentry.*with Linux/ {print i++ " : " $5,$6,$7,$8}' /boot/grub/grub.cfg
实现逻辑说明
- 字段分隔符设置为
[' ]+,将连续的单引号、空格统一作为分隔符,直接省去了原命令中sed替换单引号的步骤 - 行匹配规则
/menuentry.*with Linux/合并了原命令的两个过滤条件,不需要拆分多个awk处理 - 序号计算、字段输出逻辑都在单条awk进程内完成,执行效率更高,输出结果和原命令完全一致
内容的提问来源于stack exchange,提问作者vjwilson
相关产品推荐
相关产品推荐

