我打算获取所有分区及其相应类型的列表,但按正确的树顺序排列。
这就是我得到的lsblk -o NAME,TYPE -i
sda disk
|-sda1 part
|-sda2 part
|-sda3 part
| |-2cl-root lvm
| |-2cl-swap lvm
| |-2cl-home lvm
| |-2cl-data2 lvm
| `-2cl-data4 lvm
|-sda4 part
| |-1cl00-data3 lvm
| |-asf1 lvm
| `-asf2 lvm
`-sda5 part
sdb disk
`-sdb1 part
`-md126 raid1
sdc disk
`-sdc1 part
`-md126 raid1
sdd disk
`-sdd1 part
`-md127 raid0
`-3-data6 lvm
sde disk
`-sde1 part
`-md127 raid0
`-3-data6 lvm
sr0 rom
但我希望它以这种方式显示
sda disk
sda1 part
sda2 part
sda3 part
2cl-root lvm
2cl-swap lvm
2cl-home lvm
2cl-data2 lvm
2cl-data4 lvm
sda4 part
1cl00-data3 lvm
asf1 lvm
asf2 lvm
sda5 part
sdb disk
sdb1 part
md126 raid1
sdc disk
sdc1 part
md126 raid1
sdd disk
sdd1 part
md127 raid0
3-data6 lvm
sde disk
sde1 part
md127 raid0
3-data6 lvm
sr0 rom
我尝试了-s -l
选项,但结果变得更加奇怪。如何正确格式化它,但仍然获得正确的树顺序?如果名称和类型之间只有 1 个空格,我不会介意。
答案1
这应该可以做到:
lsblk -o NAME,TYPE -n -i -r
如果您无法要求lsblk
按照您想要的方式格式化输出,您可以通过管道传输并更改它。
例如,如果该选项卡确实很重要:
lsblk -o NAME,TYPE -n -i -r | tr ' ' '\t'