画像vm001
のLVMサイズを調べる必要があります。 /dev/VGgroup/vm001
というLVMボリュームがあるとしましょう。 lvdisplay
を使用して、サイズを確認できます。
--- Logical volume ---
LV Name /dev/VGgroup/vm001
VG Name VGgroup
LV UUID i0aYKs-Hpfv-q64V-9Rqu-6Wrq-eV3C-pZzo0D
LV Write Access read/write
LV Status available
# open 2
LV Size 25.00 GB
Current LE 6400
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:41
25
だけを出力するスクリプト/コマンドを使用してLVサイズを確認するにはどうすればよいですか? awk
を使用すると、文字列を水平方向に見つけることができますが、垂直方向には見つけることができません(私が知る限り)。
編集論理ボリュームがもっとあります。lvdisplay | awk '/LV Size/ { print $3 }'
を使用すると(明らかに)すべてのサイズが出力されますが、必要なボリュームのサイズのみを取得するにはどうすればよいですか? (この場合はvm001
)。
found
に変数(awk
)を設定し、LV Size
を出力した直後に終了することができます。
$ lvdisplay | awk '/vm001/{found=1}; /LV Size/ && found{print $3; exit}'
25.00
vm001
が見つかった場合は、found
を1
に設定します(わかっているため- LV Size
この行をフォローしています)LV Size
およびfound!=0
の場合、列#3を出力し、exit
をすぐに出力します。と
lvs /dev/vg/lvname -o LV_SIZE --noheadings --units G --nosuffix
lVのサイズを便利な形で取得できます。
正規表現を使用して、ブロックに「//」プレフィックスを使用して行を選択できます。たとえば、lvdisplay出力で。
awk '/LV Size/ { print $3 }'
lvs
に直接情報を求めることもできます。
lvs vm001 --nosuffix --units g -o size --no-headings
より具体的には、
lvs VGgroup/vm001 --nosuffix --units g -o size --no-headings