행과 열이 많은 파일이 있는데 모든 행의 열 수가 동일하지 않습니다. 델타 값이 0.02보다 큰 모든 행을 추출하고 싶습니다.
Point Fanout cap trans delta incr Path
----------------------------------------------------------
row1 1 0.02 0.01 0.00 0.03 0.04
row2 2 0.04
row3 1 0.01 0.02 0.04 0.05 0.06
row4 0.03
row5 0.04 0.05 0.07 0.07
누구든지 도와줄 수 있나요? 이러한 모든 행과 해당 델타 값을 어떻게 파악할 수 있나요?
답변1
의견에서 지적했듯이 다음 솔루션은 공백 이외의 구분 기호에 대해 잘 작동합니다(예: 탭이 귀하의 경우인 것 같습니다).
구분 기호가 공백이면 다음 해결 방법이 작동하지 않습니다. 실제 필드 구분자가 무엇인지 명확히 해야 합니다.
awk -F"\t" '$5>0.02' file
#or
awk -F"\t" 'NR==1{print;next}$5>0.02' file #to keep the header
#or
awk -F"\t" 'NR==1 || $5>0.02' file #also keeps header as advised in comments
#or
awk -F"\t" 'NR<=2 || $5>0.02' file #keep header and dashed row bellow header as advised by @Sundeep
값의 형식에 문제가 있는 경우 다음을 시도해 볼 수도 있습니다.
awk -F"\t" '($5*1)>0.02' file
답변2
PrimeTime
문제를 해결하는 타이밍 보고서를 처리하려는 경우 timing violations
특정 도구에서 제공하는 명령(Tcl)을 crosstalk noise violations
사용하는 것이 좋습니다 .EDA
바퀴를 재발명하는 것은 실제로 답이 아닙니다.