임계값보다 큰 열 값을 가진 모든 행 가져오기

임계값보다 큰 열 값을 가진 모든 행 가져오기

행과 열이 많은 파일이 있는데 모든 행의 열 수가 동일하지 않습니다. 델타 값이 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

바퀴를 재발명하는 것은 실제로 답이 아닙니다.

관련 정보