Tôi có một tệp dữ liệu mà tôi muốn bình thường hóa bằng cách sử dụng dữ liệu awk
cuối cùng. Do đó, tôi muốn truy cập điểm dữ liệu cuối cùng trước, để chuẩn hóa dữ liệu, sau đó xử lý bình thường.
Phương pháp sau đây, sử dụng tac
hai lần, thực hiện công việc, nhưng, có thể phức tạp hơn mức cần thiết.
$ cat file
0 5
1 2
2 3
3 4
$ tac file | awk 'NR==1{norm=$2} {print $1, $2/norm}' | tac
0 1.25
1 0.5
2 0.75
3 1
Câu hỏi của tôi là như sau: Có thể đạt được kết quả trên chỉ bằng cách sử dụng awk không?
Tôi nghĩ câu trả lời là "Không, awk quét từng dòng tệp", nhưng tôi sẵn sàng cho các đề xuất cho các lựa chọn thay thế.
$ awk --version GNU Awk 3.1.8
. Bạn có thể thêm một lời giải thích rất nhỏ về cách xử lý hai tệp đầu vào không vànext
làm gì?