for i in $(cat HPE_FRAMES_IP); do ssh Reports@$i showsys | awk '{print $2,$5}' | column -t ; ssh Reports@$i showpd -degraded -failed | awk '{print $1,$2,$3,$5}' ; done | grep -v "MiB" | grep -v "total"
--Name--- Nodes
AN4ZX8401 MXN6232L4X
No PDs listed
----Name----- Nodes
bga1ZX84-3128 4C17253128
No PDs listed
---Name--- Nodes
ZZ2ZX20841 CZ3741XP9X
No PDs listed
--Name--- Nodes
ZZ2ZX8401 MXN6102C7F
No PDs listed
--Name--- Nodes
ZZ2ZX8402 2MT814A12A
No PDs listed
--Name--- Nodes
CR3ZX8401 2M263601BJ
Id CagePos Type State
175 9:15:0 FC failed
---Name--- Nodes
ZZZZX20841 CZ3741X5K8
Id CagePos Type State
18 4:2:0 SSD degraded
-------Name------- Nodes
ZZZZX8401_Full_DNA MXN54823JY
No PDs listed
--Name--- Nodes
ZZZZX8402 MXN6102CAF
No PDs listed
-------Name------- Nodes
ZZZZX8403_Full_DNA MXN6192JEW
No PDs listed
다음 코드는 원하는 출력을 제공하지만 다음 형식을 사용하여 이 출력을 CSV 파일로 리디렉션해야 합니다.
showpd 및 showsys 명령의 실제 출력이 저하되거나 실패한 경우에만 출력을 인쇄하고 싶습니다.
원하는 출력은 다음과 같아야 합니다.
--Name---,Nodes
CR3ZX8401,2M263601BJ
Id,CagePos,Type,State
175,9:15:0,FC,failed
---Name---,Nodes
ZZZZX20841,CZ3741X5K8
Id,CagePos,Type,State
18,4:2:0,SSD,degraded
질문은 다음과 같이 업데이트됩니다.
showpd 출력에는 성능이 저하되고 실패한 출력이 여러 개 있을 수 있으며, 이 경우 -B3을 사용한 인쇄는 작동하지 않습니다... 다음 패턴이 출력되면 어떻게 될까요?
'---Name---,Nodes
FM1HP20841,CZ3741X5K8
Id,CagePos,Type,State
18,4:2:0,SSD,degraded
18,4:2:1,SSD,failed
답변1
이 시도,
for i in $(cat HPE_FRAMES_IP); do ssh Reports@$i showsys | awk '{print $2","$5}' ; ssh Reports@$i showpd -degraded -failed | awk '{print $1","$2","$3","$5}' ; done | grep -v "MiB" | grep -v "total" | egrep -B3 "failed|degraded" | sed 's/---Name/\n---Name/g' > file.csv
- 쉼표를 큰따옴표로 묶으세요.
awk
- 제거하다
column
- 그런 다음 키워드를 사용하여 grep을 확장하십시오.
-B3
일치하는 키워드 앞에 3줄을 인쇄합니다.sed
예상되는 출력으로 "이름" 앞에 새 줄을 추가하는 것입니다.
답변2
Grep이 여기서 도움을 드릴 것입니다:
for i in $(cat HPE_FRAMES_IP); do ssh Reports@$i showsys | awk '{print $2,$5}' | column -t ; ssh Reports@$i showpd -degraded -failed | awk '{print $1,$2,$3,$5}' ; done | grep -v "MiB" | grep -v "total" | grep -B 4 -iE "failed|degraded"
개정하다:
파이프를 통한 출력grep -B 4 -iE "실패 | 다운그레이드"