lsblkで開発名と型のみを出力する方法は?

lsblkで開発名と型のみを出力する方法は?

すべてのパーティションとそのタイプのリストを取得しようとしましたが、正しいツリー順序で行われます。

これは私が得たものです。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'

関連情報