lsblk
ディスクは常に昇順(各デバイス文字ごとに1ずつ増加)としてリストされ、ソートされますか?
たとえば、
lsblk | awk '{print $1}'
NAME
fd0
sda
├─sda1
└─sda2
├─vg00-lv_root
├─vg00-lv_swap
└─vg00-lv_var
sdb
sdc
sdd
sde
sdf
sdg
sdh
sdi
sdj
sdk
次の例のような結果を得たくありません。
順序付けされていないディスクリストの例(編集された例の出力)
lsblk | awk '{print $1}'
NAME
fd0
sda
├─sda1
└─sda2
├─vg00-lv_root
├─vg00-lv_swap
└─vg00-lv_var
sdb
sdc
sdd
sde
sdi
sdj
sdk
sdf
sdg
sdh
sdd
代わりに起動するディスクの例sdb
(たとえば、再編集)
lsblk | awk '{print $1}'
NAME
fd0
sda
├─sda1
└─sda2
├─vg00-lv_root
├─vg00-lv_swap
└─vg00-lv_var
sdd
sde
sdf
sdg
sdh
sdi
sdj
sdk
sdl
sdm
答え1
lsblk(1)
マニュアルページから:
基本出力はもちろん、などのオプションのデフォルト出力も変更される可能性
--fs
があります--topology
。したがって、可能であれば、スクリプトでデフォルト出力を使用しないことをお勧めします。--output columns-list
予想される列を明示的に定義するには、安定した出力が必要な環境で常に使用してください。
出力を並べ替える必要がある場合は、-o
出力列と列の並べ替え-x
オプションを使用することをお勧めします。lsblk --help
列名のリストを取得します。
たとえば、
lsblk -o NAME -x NAME