AIX のコマンドは次のとおりです。
[root@hx042:/home/user1]$ lqueryvg -Atp hdiskpower13
0516-1396 lqueryvg: The physical volume hdiskpower13, was not found in the system database.
Max LVs: 256
PP Size: 30
Free PPs: 0
LV count: 3
PV count: 3
Total VGDAs: 3
Conc Allowed: 0
MAX PPs per PV: 1016
MAX PVs: 32
Quorum (disk): 1
Quorum (dd): ???????
Auto Varyon ?: 1
Conc Autovaryon 0
Varied on Conc: 0
Logical: 00f62b5c00004c000000014de7f073b1.1 prekod 1
00f62b5c00004c000000014de7f073b1.2 prekre 1
00f62b5c00004c000000014de7f073b1.3 prekcf 1
Physical: 00f62b5ceb80c074 1 0
00f62b5ceb76311b 1 0
00f62b5ceb790075 1 0
Total PPs: 309
LTG size: 128
HOT SPARE: 0
AUTO SYNC: 0
VG PERMISSION: 0
SNAPSHOT VG: 0
IS_PRIMARY VG: 0
PSNFSTPP: 4352
VARYON MODE: ???????
VG Type: 0
Max PPs: 32512
Mirror Pool Str n
Sys Mgt Mode: ???????
VG Reserved: ???????
PV RESTRICTION: ???????
Infinite Retry: 2
Varyon State: 0
Disk Block Size 512
次の値のみが必要です。
prekod
prekre
prekcf
私は試した:
[root@hx042:/home/user1]$ lqueryvg -Atp hdiskpower13|sed -n -e '/Logical/,/Physical/ p'
0516-1396 lqueryvg: The physical volume hdiskpower13, was not found in the
system database.
Logical: 00f62b5c00004c000000014de7f073b1.1 prekod 1
00f62b5c00004c000000014de7f073b1.2 prekre 1
00f62b5c00004c000000014de7f073b1.3 prekcf 1
Physical: 00f62b5ceb80c074 1 0
Logical
必要な最初の値と同じ行に、現在まったく役に立たず、不要な避けられないエラーメッセージがあるため、ブロックされました。
答え1
awkですべての作業を行うより賢い方法があるかもしれませんが、Guidoは正しく実行し、0516-1396
stderrを/ dev / nullに送信してメッセージを削除しました。以下は、「logical:」と「physical」の間の行だけを印刷するパイプですsed
。次に、sedをもう一度使用して末尾の「物理」行を削除し、「logical:」テキストを削除してから、awkを使用して2番目の列を印刷します。
lqueryvg -Atp hdiskpower13 | \
sed -n '/^Logical:/,/^Physical:/ p' | \
sed '/^Physical:/d; s/^Logical://' | \
awk '{print $2}'
これは完全なawkソリューションですが、依然として無差別代入です。
lqueryvg -Atp hdiskpower13 | \
awk '/^Logical:/,/^Physical/ {
if (! /^Physical:/) {
gsub("Logical:", "", $0);
print $2 }}'
答え2
for i in prekod prekcf prekre; do lqueryvg -Atp hdiskpower13 | grep $i; done | sed 's/Logical://g' | sed 's/^[ \t]*//;s/[ \t]*$//' | awk '{print $2" "$3}'
答え3
出力が常に似ていると仮定すると、cutも機能し、より簡単になると思います。上記の特定の出力の場合:
grep 'prek*' |cut -w -f3