パターンを合わせたいです。アッSolaris システムの場合。
$ luxadm probe
No Network Array enclosures found in /dev/es
Found Fibre Channel device(s):
Node WWN:2000000c50f1c8da Device Type:Disk device
Logical Path:/dev/rdsk/c1t1d0s2
Node WWN:2000000c50f1d9c9 Device Type:Disk device
Logical Path:/dev/rdsk/c1t0d0s2
注 - 使用しようとするとアッ、最後の行から1行をマージするだけです。
$ luxadm probe |awk '/Node/{n=$2}/Logical/{l=$2} END {print n,l}'
WWN:2000000c50f1d9c9 Path:/dev/rdsk/c1t0d0s2
予想される出力は次のとおりです。
WWN:2000000c50f1d9c9 Path:/dev/rdsk/c1t0d0s2
WWN:2000000c50f1c8da Path:/dev/rdsk/c1t1d0s2
ベストアンサー1
まだ言及されていない短い答えawk
awk '/Node/{n=$2; getline; print n " "$2; next}' filename
/Node/
#パターンノードを見つけて、2番目のフィールドをn
変数に保存します。n=$2
getline
#次の行(Logical
行が始まる場所)に移動して変数に保存されている内容を印刷し、次の行のn
2番目のフィールドを印刷します。next
#現在のレコードの処理を中止し、次のレコードに移動します。