최대값과 최소값이 포함된 줄을 인쇄합니다.

최대값과 최소값이 포함된 줄을 인쇄합니다.

파일(16K 행 포함)을 읽고 모든 열에 최대값(100)이 포함되고 모든 열에 최소값(0)이 포함된 경우 전체 행을 인쇄해야 합니다. 출력 예가 제공됩니다

input.txt(탭으로 구분)

Id sno1 sno2 sno3 sno4
E1 98   100  88   78
E2 33   99   78   66
E3 0     0   100  56
E4 0     0    0    0
E5 45   55   65   100
E6 0     0   99    88
E7 100 100  100   100

출력.txt

E1 98  100  88   78
E3 0    0   100   56
E4 0    0    0    0
E5 45   55   65   100
E7 100  100  100  100

답변1

[업데이트] 이런 게 있나요?

perl -n -e 'if (/^\S+\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) { print if $1==100||$2==100||$3==100||$4==100||($1==0&&$2==0&&$3==0&&$4==0) }' input.txt

공백으로 구분된 열에서도 작동합니다.

답변2

다음 장소에서도 가능합니다 awk:

awk '$2 ~ /^0$/ && $3 ~ /^0$/ && $4 ~ /^0$/ && $5 ~ /^0$/ || /100/' $file

관련 정보