如何通过awk处理lvs输出,添加/dev/并在列间插入斜杠?
解决方案
直接用awk一步完成提取与格式拼接,无需先合并列再处理,命令如下:
lvs | awk 'NR>=4 {print "/dev/"$2"/"$1}'
命令说明
NR>=4:跳过前3行表头内容,和你原命令里的tail -n +4作用完全一致"/dev/"$2"/"$1:直接按需求拼接路径格式——$2对应卷组(VG)名称,$1对应逻辑卷(LV)名称,刚好生成/dev/VG_NAME/LV_NAME的结构
如果你的lvs输出列顺序有差异(比如部分环境下LV和VG列位置调换),先执行lvs确认列顺序,再调整$1和$2的位置即可。
验证示例
假设lvs从第4行开始的输出为:
lv_hana_backups vg_hana_backups ... lv_hana_data vg_hana_data ... lv_hana_log vg_hana_log ... lv_hana_shared vg_hana_shared ...
执行上述命令后会直接输出目标格式:
/dev/vg_hana_backups/lv_hana_backups /dev/vg_hana_data/lv_hana_data /dev/vg_hana_log/lv_hana_log /dev/vg_hana_shared/lv_hana_shared
内容的提问来源于stack exchange,提问作者ficestat
相关产品推荐
相关产品推荐

