linux - 在命令中用“:”替换空格
问题描述
当我编写一个给我这样的输出的命令时。
[root@localhost:~] esxcli storage filesystem list
Mount Point Volume Name UUID Mounted Type Size Free
------------------------------------------------- ----------- ----------------------------------- ------- ------ ------------- ------------
/vmfs/volumes/5bc0c1e3-2ff435d4-533e-3cd92b0a6096 datastore1 5bc0c1e3-2ff435d4-533e-3cd92b0a6096 true VMFS-6 1992327954432 589864894464
/vmfs/volumes/50696371-d628af73-35da-9c895c95504a 50696371-d628af73-35da-9c895c95504a true vfat 261853184 69218304
/vmfs/volumes/8a820f75-48ed9387-b688-b249a3a1691f 8a820f75-48ed9387-b688-b249a3a1691f true vfat 261853184 261844992
/vmfs/volumes/5bc0c1e4-863d9324-d91f-3cd92b0a6096 5bc0c1e4-863d9324-d91f-3cd92b0a6096 true vfat 4293591040 4260233216
/vmfs/volumes/5bc0c1dd-09ac4bba-56c7-3cd92b0a6096 5bc0c1dd-09ac4bba-56c7-3cd92b0a6096 true vfat 299712512 80486400
现在我想要所有以“/”开头并用“:”替换空格的行
所以我尝试了一个esxcli storage filesystem list | sed -e 's/\s\+/:/g' |awk '$1 ~ /^\/[a-z]+/ {print $1$2$3$4$5}
命令esxcli storage filesystem list |awk '$1 ~ /^\/[a-z]+/ {i=":";print $1i$2i$3i$4i$5i}'
这给了我这样的输出:
[root@localhost:~] esxcli storage filesystem list | sed -e 's/\s\+/:/g' |awk '$1 ~ /^\/[a-z]+/ {print $1$2$3$4$5}'
/vmfs/volumes/5bc0c1e3-2ff435d4-533e-3cd92b0a6096:datastore1:5bc0c1e3-2ff435d4-533e-3cd92b0a6096:true:VMFS-6:1992327954432:590073561088
/vmfs/volumes/50696371-d628af73-35da-9c895c95504a:50696371-d628af73-35da-9c895c95504a:true:vfat:261853184:69218304
/vmfs/volumes/8a820f75-48ed9387-b688-b249a3a1691f:8a820f75-48ed9387-b688-b249a3a1691f:true:vfat:261853184:261844992
/vmfs/volumes/5bc0c1e4-863d9324-d91f-3cd92b0a6096:5bc0c1e4-863d9324-d91f-3cd92b0a6096:true:vfat:4293591040:4260954112
/vmfs/volumes/5bc0c1dd-09ac4bba-56c7-3cd92b0a6096:5bc0c1dd-09ac4bba-56c7-3cd92b0a6096:true:vfat:299712512:80486400
但问题是如果找不到卷名,那么它应该是“::”之类的东西。
我想要像这样的输出:
/vmfs/volumes/5bc0c1e3-2ff435d4-533e-3cd92b0a6096:datastore1:5bc0c1e3-2ff435d4-533e-3cd92b0a6096:true:VMFS-6:1992327954432:590073561088
/vmfs/volumes/50696371-d628af73-35da-9c895c95504a::50696371-d628af73-35da-9c895c95504a:true:vfat:261853184:69218304
/vmfs/volumes/8a820f75-48ed9387-b688-b249a3a1691f::8a820f75-48ed9387-b688-b249a3a1691f:true:vfat:261853184:261844992
/vmfs/volumes/5bc0c1e4-863d9324-d91f-3cd92b0a6096::5bc0c1e4-863d9324-d91f-3cd92b0a6096:true:vfat:4293591040:4260954112
/vmfs/volumes/5bc0c1dd-09ac4bba-56c7-3cd92b0a6096::5bc0c1dd-09ac4bba-56c7-3cd92b0a6096:true:vfat:299712512:80486400
解决方案
推荐阅读
- javascript - 相对于包含文本的 div 的高度定位某些东西
- abp - 在 abp 框架中 IsSelfRegistrationEnabled 设置在哪里?
- python - Python回归机器学习
- python - Python:在两个数据帧的几列之间相等的情况下,将数据帧的值设置为等于另一个数据帧的值
- php - PHP 变量作为 img src 属性的输入
- python - 类似 index.get_loc 的函数,但用于多个值
- javascript - 如何通过 ID 从 Django 获取 JavaScript/HTML 中的对象?
- python - 如何从网页中抓取 href?
- c# - findgameojectswithtag 列表重复
- r - 如何构建 R 项目