입력하다:
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
값이 대체되고 현재 행이 추가됩니다 *
.
그런 다음 무조건 각 줄을 출력하십시오.