이전의 모든 숫자보다 작은 마지막 열의 모든 숫자를 강조 표시합니다.

이전의 모든 숫자보다 작은 마지막 열의 모든 숫자를 강조 표시합니다.

입력하다:

network-snapshot-000000        time 6m 40s       fid50k_full 34.9546
network-snapshot-000201        time 6m 52s       fid50k_full 30.8073
network-snapshot-000403        time 6m 51s       fid50k_full 33.3470
network-snapshot-000604        time 6m 51s       fid50k_full 32.7172
network-snapshot-000806        time 6m 49s       fid50k_full 30.3764

산출:

network-snapshot-000000        time 6m 40s       fid50k_full 34.9546
network-snapshot-000201        time 6m 52s       fid50k_full 30.8073*
network-snapshot-000403        time 6m 51s       fid50k_full 33.3470
network-snapshot-000604        time 6m 51s       fid50k_full 32.7172
network-snapshot-000806        time 6m 49s       fid50k_full 30.3764*

답변1

$ awk 'NR == 1 { min = $NF } ($NF < min) { min = $NF; $0 = $0 "*" }; 1' file
network-snapshot-000000        time 6m 40s       fid50k_full 34.9546
network-snapshot-000201        time 6m 52s       fid50k_full 30.8073*
network-snapshot-000403        time 6m 51s       fid50k_full 33.3470
network-snapshot-000604        time 6m 51s       fid50k_full 32.7172
network-snapshot-000806        time 6m 49s       fid50k_full 30.3764*

min현재 첫 번째 행( NR == 1)을 읽고 있는 경우 찾은 가장 작은 값을 마지막 열의 첫 번째 값으로 초기화합니다. 그런 다음 각 입력 행에 대해 마지막 열의 값이 우리 min값보다 엄격하게 작으면 해당 min값이 대체되고 현재 행이 추가됩니다 *.

그런 다음 무조건 각 줄을 출력하십시오.

관련 정보